Error al crear un indice !!!!???

08/04/2005 - 15:22 por Leopoldo Ramos | Informe spam
Al tratar de crear el indice a la siguiente vista me da un error:

Cannot index the view 'BDGES1.dbo.vCUBICAC'. It contains one or more
disallowed constructs.

A que se debera ?


CREATE VIEW dbo.vCUBICAC
WITH SCHEMABINDING
AS
SELECT gD.DOCUMENTO,gD.ccTOTAL, SUM(isnull(gCgD.valor,0)) as pagado,
COUNT_BIG (*) AS CNT
FROM dbo.gD left join dbo.gCgD
on gD.modulo=gCgD.moduloD and gD.tipo=gCgD.tipoD and gD.grupo=gCgD.grupoD
and gD.documento=gCgD.documentoD
GROUP BY gD.DOCUMENTO,gD.ccTOTAL

go

CREATE UNIQUE CLUSTERED INDEX documento ON [dbo].[vCUBICAC]([documento])
ON [PRIMARY]
GO

Me la crea bien pero no el indice. Dice:Cannot index the view
'BDGES1.dbo.vCUBICAC'. It contains one or more disallowed constructs.

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
08/04/2005 - 15:35 | Informe spam
Leopoldo,

No puedes usar LEFT OUTER JOIN en una vista indexada.


AMB


"Leopoldo Ramos" wrote:

Al tratar de crear el indice a la siguiente vista me da un error:

Cannot index the view 'BDGES1.dbo.vCUBICAC'. It contains one or more
disallowed constructs.

A que se debera ?


CREATE VIEW dbo.vCUBICAC
WITH SCHEMABINDING
AS
SELECT gD.DOCUMENTO,gD.ccTOTAL, SUM(isnull(gCgD.valor,0)) as pagado,
COUNT_BIG (*) AS CNT
FROM dbo.gD left join dbo.gCgD
on gD.modulo=gCgD.moduloD and gD.tipo=gCgD.tipoD and gD.grupo=gCgD.grupoD
and gD.documento=gCgD.documentoD
GROUP BY gD.DOCUMENTO,gD.ccTOTAL

go

CREATE UNIQUE CLUSTERED INDEX documento ON [dbo].[vCUBICAC]([documento])
ON [PRIMARY]
GO

Me la crea bien pero no el indice. Dice:Cannot index the view
'BDGES1.dbo.vCUBICAC'. It contains one or more disallowed constructs.



Respuesta Responder a este mensaje
#2 Ricardo Passians
08/04/2005 - 16:57 | Informe spam
Como te dice Alejandro el problema es el LEFT. Debes saber que para ese
caso la utilidad de tu vista indizada no sera reemplazar cualquier query
sino tener la informacion resumida (de una misma tabla) por eso te aconsejo
que elimines de la vista la tabla GD y la apliques solo sobre la GCGD.

Ya puedes luego tener un SP u otra vista (normal) que haga el left join
entre GD y la vista ya creada previamente.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida