Error con EXISTS y TOP 1

20/09/2006 - 23:08 por Tito | Informe spam
estoy tratando de hacer el siguiente IF en un trigger y me da error "near
="

declare @tip char(2), @doc char(5), @fec smalldatetime
if exists(
SELECT TOP 1 @TIP=D.TIPO, @DOC=D.DOCUMENTO, @FEC=D.FECHA
FROM DELETED D WHERE D.total<0 order by tipo, documento)

Raiserror(.., @tip, @doc)
...


Lo que quiero es detectar si hay algun registro en el conjunto DELETED que
tenga el campo total<0 y a la vez quiero guardar en una variable el # del
primer documento que cumple con esa condicion para mostrarlo en un mensaje.

Tengo otra alternativa para hacer esto ?


Tito
 

Leer las respuestas

#1 Isaias
21/09/2006 - 02:11 | Informe spam
Tito

NO puedes preguntar IF EXISTS() y hacer una asignacion de datos @var = col1,
@var2 = col2, etc.

Deberias preguntar primero y despues asignar


IF EXISTS()
BEGIN
SELECT TOP 1 @MYVAR = COL1, ..
Saludos
IIslas


"Tito" wrote:

estoy tratando de hacer el siguiente IF en un trigger y me da error "near
="

declare @tip char(2), @doc char(5), @fec smalldatetime
if exists(
SELECT TOP 1 @TIP=D.TIPO, @DOC=D.DOCUMENTO, @FEC=D.FECHA
FROM DELETED D WHERE D.total<0 order by tipo, documento)

Raiserror(.., @tip, @doc)

.

Lo que quiero es detectar si hay algun registro en el conjunto DELETED que
tenga el campo total<0 y a la vez quiero guardar en una variable el # del
primer documento que cumple con esa condicion para mostrarlo en un mensaje.

Tengo otra alternativa para hacer esto ?


Tito



Preguntas similares