SQL Server - TRIGGERS !!!

 
Vista:

TRIGGERS !!!

Publicado por hugo (2 intervenciones) el 18/01/2007 13:16:46
HOLA TENGO UNA TABLA "LIBROS" CON UN CAMPO STOCK, QUIERO QUE CUANDO EL STOCK SEA CERO O MENOS AUTOMATICAMENTE ME AGREGE "ND"(NO DISPONIBLE) EN OTRO CAMPO LLAMADO "DISP" DEL MISMO REGISTRO.
PROVE ASI PERO ME DA ERROR en la ultima linea error de sintaxis cerca de ).

CREATE TRIGGER SS ON [dbo].[libros]
for UPDATE
AS
IF update (stock)
BEGIN

if stock <= 0

UPDATE libros
SET disp = 'ND'
WHERE cod_libro = (SELECT cod_libro FROM inserted)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:TRIGGERS !!!

Publicado por javier (3 intervenciones) el 18/01/2007 15:51:23
yo lo haría de la siguiente manera

CREATE TRIGGER SS ON [dbo].[libros]
for UPDATE
AS

Delclare @Stock as int

Select @Stock = Stock From Inserted
if @Stock <= 0

UPDATE libros
SET disp = 'ND'
WHERE cod_libro = (SELECT cod_libro FROM inserted)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:TRIGGERS !!!

Publicado por Liliana (151 intervenciones) el 18/01/2007 17:45:28
Hola,
No soy afecta a los triggers en estos casos, creo que se puede resolver en el mismo SP de actualización del stock.
De todas maneras, veo lo que puede convertirse en un error serio en tu código.
Los desencadenadores o triggers se disparan por cada actualización de la tabla, en este caso es posible que modifiques de a un renglón y no verás problema, pero si hubiese una modificación que afecte más de una línea, entonces no funcionará el trigger.

CREATE TRIGGER SS ON [dbo].[libros]
for UPDATE
AS

UPDATE libros
SET disp = 'ND'
WHERE Stock <= 0

GO

Nota: El error de sintaxis de tu código es que falta un END al final.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:TRIGGERS !!!

Publicado por hugo (2 intervenciones) el 18/01/2007 19:35:37
le cambie algunas cositas y funciona, tambien con muchos registros... gracias liliana y javier... son una masa...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar