Armar un Trigger Re facil, pero nose como

11/10/2006 - 19:39 por Agustín Ithurbide | Informe spam
Hola grupo, estoy por armar mi primer trigger en Sql Server, necesito lo
siguiente:

Al insertar un valor x en un campo quiero q me actualize un un campo de otra
tabla, estas 2 tablas se encuentran relacionadas.

1 - Para esto necesito validar dentro trigger el valor del campo para ver si
actualiza o no el campo de la otra tabla, como se hace ?????
2 - Ademas en la condicion update, deberia en el: where colocar:
update . where campo_para_actualizar = al ID del campo que se
inserto, esto como se hace ????, osea tabla.campo ????

Chas gracias.

Preguntas similare

Leer las respuestas

#1 Maxi
11/10/2006 - 20:33 | Informe spam
La verdad que no te entendi nada, porque no pones algun ejemplo?


Saludos

[Microsoft MVP SQL Server]
www.sqlgurus.org
Buenos Aires - Argentina
"Agustín Ithurbide" wrote in message
news:
Hola grupo, estoy por armar mi primer trigger en Sql Server, necesito lo
siguiente:

Al insertar un valor x en un campo quiero q me actualize un un campo de
otra tabla, estas 2 tablas se encuentran relacionadas.

1 - Para esto necesito validar dentro trigger el valor del campo para ver
si actualiza o no el campo de la otra tabla, como se hace ?????
2 - Ademas en la condicion update, deberia en el: where colocar:
update . where campo_para_actualizar = al ID del campo que se
inserto, esto como se hace ????, osea tabla.campo ????

Chas gracias.




Respuesta Responder a este mensaje
#2 César Duarte Mora
12/10/2006 - 08:51 | Informe spam
Compañero nos podrías explicar un poco mejor tu caso? Al igual que el post
anterior, no te entiendo muy bien lo que preguntas :S

Saludos,

MCP César Duarte Mora
Consultor de Inteligencia de Negocios
Microsoft Student Partner, Costa Rica
SoftechCR.NET Lead
Blog: cfdmo.blogspot.com

"Agustín Ithurbide" wrote in message
news:
Hola grupo, estoy por armar mi primer trigger en Sql Server, necesito lo
siguiente:

Al insertar un valor x en un campo quiero q me actualize un un campo de
otra tabla, estas 2 tablas se encuentran relacionadas.

1 - Para esto necesito validar dentro trigger el valor del campo para ver
si actualiza o no el campo de la otra tabla, como se hace ?????
2 - Ademas en la condicion update, deberia en el: where colocar:
update . where campo_para_actualizar = al ID del campo que se
inserto, esto como se hace ????, osea tabla.campo ????

Chas gracias.




Respuesta Responder a este mensaje
#3 Javier Loria
12/10/2006 - 10:32 | Informe spam
Hola Agustin:
Antes de hacer el trigger, deberias tratar de evitarlo. O sea en SQL
tratamos de "normalizar" los datos evitando que los datos no esten
duplicados. Es mejor luego al momento de la consulta hacer un JOIN para
recuperar la informacion de la tablas uniendolas.
Si siempre quieres hacerlo, entonces el trigger te sirve, pero debes
considerar varios puntos:
a) El trigger se dispara una vez por insercion, actualizacion o borrado, no
una vez por cada linea.
b) El SQL te ofrecera durante la ejecucion del trigger 2 tablas que puedes
usar para saber que es lo que se esta insertando, actualizando o borrando.
Estas tablas se llama INSERTED y DELETED.
El codigo que te sirve seria mas o menos asi:
CREATE TRIGGER dbo.MiTablaTrg
ON dbo.MiTabla
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
UPDATE MiTabla2
SET Col1=MiTabla2.Col1+INSERTED.Col1
FROM BD2.dbo.MiTabla
JOIN Inserted
ON MiTabla2.Llave=INSERTED.Llave
WHERE Col2='Condicion'
END

Este trigger funciona solo para insercion, y toma los valores de la Col1
y se los suma a la Col1 de la Tabla2, solo cuando la Col2 cumple la
condicion.
Espero se entienda,

Javier Loria
Costa Rica-MVP
Solid Quality Learning

"Agustín Ithurbide" wrote in message
news:
Hola grupo, estoy por armar mi primer trigger en Sql Server, necesito lo
siguiente:

Al insertar un valor x en un campo quiero q me actualize un un campo de
otra tabla, estas 2 tablas se encuentran relacionadas.

1 - Para esto necesito validar dentro trigger el valor del campo para ver
si actualiza o no el campo de la otra tabla, como se hace ?????
2 - Ademas en la condicion update, deberia en el: where colocar:
update . where campo_para_actualizar = al ID del campo que se
inserto, esto como se hace ????, osea tabla.campo ????

Chas gracias.




Respuesta Responder a este mensaje
#4 Agustín Ithurbide
12/10/2006 - 20:57 | Informe spam
Gracias a todos, javi fuistes el unico loco que interpreto mi problema, no
sabia de esas 2 tablas que te provee Sql exelente, chas gracias.

SAlu2

Agustin

"Javier Loria" escribió en el mensaje
news:
Hola Agustin:
Antes de hacer el trigger, deberias tratar de evitarlo. O sea en SQL
tratamos de "normalizar" los datos evitando que los datos no esten
duplicados. Es mejor luego al momento de la consulta hacer un JOIN para
recuperar la informacion de la tablas uniendolas.
Si siempre quieres hacerlo, entonces el trigger te sirve, pero debes
considerar varios puntos:
a) El trigger se dispara una vez por insercion, actualizacion o borrado,
no una vez por cada linea.
b) El SQL te ofrecera durante la ejecucion del trigger 2 tablas que puedes
usar para saber que es lo que se esta insertando, actualizando o borrando.
Estas tablas se llama INSERTED y DELETED.
El codigo que te sirve seria mas o menos asi:
> CREATE TRIGGER dbo.MiTablaTrg
ON dbo.MiTabla
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
UPDATE MiTabla2
SET Col1=MiTabla2.Col1+INSERTED.Col1
FROM BD2.dbo.MiTabla
JOIN Inserted
ON MiTabla2.Llave=INSERTED.Llave
WHERE Col2='Condicion'
END

> Este trigger funciona solo para insercion, y toma los valores de la
Col1 y se los suma a la Col1 de la Tabla2, solo cuando la Col2 cumple la
condicion.
Espero se entienda,

Javier Loria
Costa Rica-MVP
Solid Quality Learning

"Agustín Ithurbide" wrote in message
news:
Hola grupo, estoy por armar mi primer trigger en Sql Server, necesito lo
siguiente:

Al insertar un valor x en un campo quiero q me actualize un un campo de
otra tabla, estas 2 tablas se encuentran relacionadas.

1 - Para esto necesito validar dentro trigger el valor del campo para ver
si actualiza o no el campo de la otra tabla, como se hace ?????
2 - Ademas en la condicion update, deberia en el: where colocar:
update . where campo_para_actualizar = al ID del campo que se
inserto, esto como se hace ????, osea tabla.campo ????

Chas gracias.








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