Error 8662...

15/01/2004 - 21:08 por luis_mtz | Informe spam
Saludos!

Tengo la siguiente vista..

CREATE VIEW acumulados WITH SCHEMABINDING AS
SELECT COUNT_BIG(*) As detalles, alm_cla, art_cla,
SUM(mdt_can * adu_con * CASE
WHEN con_inv=1 THEN 1
WHEN con_inv=2 THEN -1
WHEN con_inv=3 THEN 0
END) AS cantidad,
SUM(mdt_can * adu_con * mdt_cou) As totalprecio
FROM dbo.movdet
GROUP BY art_cla,alm_cla

y al crear el siguiente indice

CREATE UNIQUE CLUSTERED INDEX IdxAcumulados ON acumulados
(alm_cla,art_cla)

Este ultimo me devuelve el error 8662..

Aclaro que en la tabla movdet ningun campo definido en la
vista acepta valores nulos.

Modifique la vista y solo quite el CASE de la funcion SUM,
y ya no me envia el error.. definitivamente es por el
CASE, alguna alternativa que pueda utilizar.

Muchas gracias por sus comentarios.

luis_mtz

Preguntas similare

Leer las respuestas

#1 Isaías
15/01/2004 - 21:43 | Informe spam
Luis

¿Esto funciona COUNT_BIG(*)?
Respuesta Responder a este mensaje
#2 luis_mtz
15/01/2004 - 21:56 | Informe spam
Hola..

No entiendo si me dices que cambie por COUNT_BIG(*) o
bien si me estas preguntando si esa funcion me da error,
Esa funcion no me da ningun problema (COUNT_BIG(*))

saludos
luis_mtz

Luis

¿Esto funciona COUNT_BIG(*)?
.

Respuesta Responder a este mensaje
#3 Maximiliano D. A.
15/01/2004 - 21:59 | Informe spam
como indica Isaias ademas de ver eso, prueba de ejecutar tu query como tal,
sin vista digamos y dinos si se ejecuta bien ;-)

Salu2

Maximiliano Damian Accotto


"luis_mtz" escribió en el mensaje
news:01a601c3dba3$4df79810$
Saludos!

Tengo la siguiente vista..

CREATE VIEW acumulados WITH SCHEMABINDING AS
SELECT COUNT_BIG(*) As detalles, alm_cla, art_cla,
SUM(mdt_can * adu_con * CASE
WHEN con_inv=1 THEN 1
WHEN con_inv=2 THEN -1
WHEN con_inv=3 THEN 0
END) AS cantidad,
SUM(mdt_can * adu_con * mdt_cou) As totalprecio
FROM dbo.movdet
GROUP BY art_cla,alm_cla

y al crear el siguiente indice

CREATE UNIQUE CLUSTERED INDEX IdxAcumulados ON acumulados
(alm_cla,art_cla)

Este ultimo me devuelve el error 8662..

Aclaro que en la tabla movdet ningun campo definido en la
vista acepta valores nulos.

Modifique la vista y solo quite el CASE de la funcion SUM,
y ya no me envia el error.. definitivamente es por el
CASE, alguna alternativa que pueda utilizar.

Muchas gracias por sus comentarios.

luis_mtz


Respuesta Responder a este mensaje
#4 luis_mtz
15/01/2004 - 22:09 | Informe spam
Hola de nuevo

Ya esta resuelto, Solo agregue la clausula ELSE en el
CASE que defini en la Vista y listo, el indice se creo sin
problemas.

Saludos.

luis_mtz

Saludos!

Tengo la siguiente vista..

CREATE VIEW acumulados WITH SCHEMABINDING AS
SELECT COUNT_BIG(*) As detalles, alm_cla, art_cla,
SUM(mdt_can * adu_con * CASE
WHEN con_inv=1 THEN 1
WHEN con_inv=2 THEN -1
WHEN con_inv=3 THEN 0
END) AS cantidad,
SUM(mdt_can * adu_con * mdt_cou) As totalprecio
FROM dbo.movdet
GROUP BY art_cla,alm_cla

y al crear el siguiente indice

CREATE UNIQUE CLUSTERED INDEX IdxAcumulados ON acumulados
(alm_cla,art_cla)

Este ultimo me devuelve el error 8662..

Aclaro que en la tabla movdet ningun campo definido en la
vista acepta valores nulos.

Modifique la vista y solo quite el CASE de la funcion


SUM,
y ya no me envia el error.. definitivamente es por el
CASE, alguna alternativa que pueda utilizar.

Muchas gracias por sus comentarios.

luis_mtz


.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida