novato en triggers

28/11/2003 - 00:26 por Cam Acosta | Informe spam
Hola a todos,

Tengo una aplicacion y muchos procedimientos que atacan una tabla. En esta
tabla existe un campo de fecha. Necesito que al insertar un dato, si este
viene NULO, me deje la fecha de hoy (por lo tanto no me sirve un valor por
defecto ya que existen procedimientos que envian nulo)

Muchas Gracias,

Camilo Acosta

Preguntas similare

Leer las respuestas

#1 Maximiliano Damian Accotto
28/11/2003 - 01:06 | Informe spam
hola!! aca te mando este ejemplo de como podrias hacer esto

CREATE TABLE PRUEBA123 (ID INT IDENTITY,FECHA DATETIME)

declare @n int

set @n = 0


while @n < 100
begin
insert into prueba123 (fecha) values (getdate()+@n)
set @n= @n + 1
end



create trigger tr_prueba123 on prueba123 for update
as

update prueba123 set fecha=isnull(inserted.fecha,getdate())
from prueba123 inner join inserted on
prueba123.id = inserted.id


create trigger tr_prueba123_2 on prueba123 instead of insert
as

insert into prueba123 (fecha)
select isnull(inserted.fecha,getdate()) from inserted


pd: espero q te sea de utilidad

Un saludo como siempre

Accotto Maximiliano Damian
Fundicion San Cayetano S.A.
Buenos Aires Argentina

Gerente de Sistemas y Tecnologia
()

"Cam Acosta" escribió en el mensaje
news:
Hola a todos,

Tengo una aplicacion y muchos procedimientos que atacan una tabla. En esta
tabla existe un campo de fecha. Necesito que al insertar un dato, si este
viene NULO, me deje la fecha de hoy (por lo tanto no me sirve un valor por
defecto ya que existen procedimientos que envian nulo)

Muchas Gracias,

Camilo Acosta


Respuesta Responder a este mensaje
#2 ulises
28/11/2003 - 05:14 | Informe spam
No sé como atacas la tabla, pero en todo caso si tienes un
procedimiento de inserción considerando la siguiente tabla

CREATE TABLA ( clave int, fecha datetime default getdate())

puedes verificar el valor del campo que estas insertando

IF @campofecha IS NULL
INSERT INTO TABLA ( @campoclave, DEFAULT )
ELSE
INSERT INTO TABLA ( @campoclave, @campofecha )

si lo estas poblando a través de un SELECT, podrías hacer

INSERT INTO TABLA
SELECT campoclave, ISNULL(campofecha,getdate()) FROM OTRATABLA

Ojala eso te ayude

Saludos,
Ulises



On Thu, 27 Nov 2003 18:26:32 -0500, "Cam Acosta"
wrote:

Hola a todos,

Tengo una aplicacion y muchos procedimientos que atacan una tabla. En esta
tabla existe un campo de fecha. Necesito que al insertar un dato, si este
viene NULO, me deje la fecha de hoy (por lo tanto no me sirve un valor por
defecto ya que existen procedimientos que envian nulo)

Muchas Gracias,

Camilo Acosta

Respuesta Responder a este mensaje
#3 Cam Acosta
01/12/2003 - 16:30 | Informe spam
Ok, muchas gracias
"Maximiliano Damian Accotto" escribió
en el mensaje news:%
hola!! aca te mando este ejemplo de como podrias hacer esto

CREATE TABLE PRUEBA123 (ID INT IDENTITY,FECHA DATETIME)

declare @n int

set @n = 0


while @n < 100
begin
insert into prueba123 (fecha) values (getdate()+@n)
set @n= @n + 1
end



create trigger tr_prueba123 on prueba123 for update
as

update prueba123 set fecha=isnull(inserted.fecha,getdate())
from prueba123 inner join inserted on
prueba123.id = inserted.id


create trigger tr_prueba123_2 on prueba123 instead of insert
as

insert into prueba123 (fecha)
select isnull(inserted.fecha,getdate()) from inserted


pd: espero q te sea de utilidad

Un saludo como siempre

Accotto Maximiliano Damian
Fundicion San Cayetano S.A.
Buenos Aires Argentina

Gerente de Sistemas y Tecnologia
()

"Cam Acosta" escribió en el mensaje
news:
> Hola a todos,
>
> Tengo una aplicacion y muchos procedimientos que atacan una tabla. En


esta
> tabla existe un campo de fecha. Necesito que al insertar un dato, si


este
> viene NULO, me deje la fecha de hoy (por lo tanto no me sirve un valor


por
> defecto ya que existen procedimientos que envian nulo)
>
> Muchas Gracias,
>
> Camilo Acosta
>
>


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