Trigger

17/04/2009 - 02:04 por Javier Montero | Informe spam
Buen dia a todos
Me interrogante es la siguiente:
Tengo un Trigger el cual debe de evitar al momento de hacer un update que la
fecha del codigo de orden sea menor a la fecha actual, ya he probado de
varias maneras y si no es que permite cualquier fecha me bloque cualquiera,
espero me puedan dar una mano con esto, les dejo el codigo que estaba
probando

USE BookGames
IF OBJECT_ID ('dbo.TR_U_FecDetCompras','TR') IS NOT NULL
DROP TRIGGER dbo.TR_U_FecDetCompras
GO
CREATE TRIGGER dbo.TR_U_FecDetCompras
ON dbo.Ordenes_Compras
AFTER UPDATE
AS
DECLARE @FecNow datetime


Select @Fecnow = OcFecOrden
From Ordenes_Compras

IF (@FecNow > getdate())
year(@fecnow) < year(getdate()))
BEGIN
RAISERROR ('Trigger - 01 No se pueden actualizar fecha inferior a la actual,
contacte al DBA',16,10)
Rollback Transaction
END
GO
 

Leer las respuestas

#1 Noldis Chumacero Chávez
17/04/2009 - 03:08 | Informe spam
Javier,

Utiliza un trigger

INSTEAD OF

Y realiza la pregunta antes de hacer el update, si todo es correcto entonces
recién realizas el update y si no entonces puedes generar un mensaje de
error o bien no hacer el update.

Atte

Noldis Chumacero
Santa Cruz de la Sierra - Bolivia

www.embalate.com



"Javier Montero" escribió en el mensaje de noticias
news:
Buen dia a todos
Me interrogante es la siguiente:
Tengo un Trigger el cual debe de evitar al momento de hacer un update que
la fecha del codigo de orden sea menor a la fecha actual, ya he probado de
varias maneras y si no es que permite cualquier fecha me bloque
cualquiera, espero me puedan dar una mano con esto, les dejo el codigo que
estaba probando

USE BookGames
IF OBJECT_ID ('dbo.TR_U_FecDetCompras','TR') IS NOT NULL
DROP TRIGGER dbo.TR_U_FecDetCompras
GO
CREATE TRIGGER dbo.TR_U_FecDetCompras
ON dbo.Ordenes_Compras
AFTER UPDATE
AS
DECLARE @FecNow datetime


Select @Fecnow = OcFecOrden
From Ordenes_Compras

IF (@FecNow > getdate())
and year(@fecnow) < year(getdate()))
BEGIN
RAISERROR ('Trigger - 01 No se pueden actualizar fecha inferior a la
actual, contacte al DBA',16,10)
Rollback Transaction
END
GO

Preguntas similares