Ayuda trigger2

26/02/2004 - 15:29 por Sergio | Informe spam
Hola amigos, lo q verdaderamente quiero hacer es que el trigger
reciba un parametro y ese parametro sea utilizado por la sentencia Sql, la
realidad es que quiero hacer un delete contra una tabla2 cuando se realiza
el delete en la tabla1 pero el delete en la tabla2 se realiza bajo ciertas
condiciones.
Ejemplo
CREATE TRIGGER prueba1 ON dbo.usuarios
FOR DELETE
AS
DELETE
FROM asientodiario_det
WHERE codempresa = @codempresa and codigo = (select codigo from
asientodiario_cab where codempresa = @codempresa and nroboleta = @nroboleta
and tipo = 'CO' )

DELETE
FROM asientodiario_cab
WHERE nroboleta = @nroboleta and tipo = 'CO' and codempresa = @codempresa

pero no se como puedo pasar los parametros @ al trigger que me envia mi
aplicacion para
q pueda ejecutarse el trigger,
por ejemplo en el caso de los stored procedures tenemos CREATE PROCEDURE
spborrado_traspasoautomatico(@codempresa int,@nroboleta char(20),@bandera
smallint) donde es visble en la cabecera los parametros recibidos
pero en el caso de los trigger como lo realizaria.
Gracias

Preguntas similare

Leer las respuestas

#1 Maximiliano D. A.
26/02/2004 - 13:57 | Informe spam
Hola!! parametros no le podes pasar a un Trigger para eso estan los Stores,
ahora yo te voy a hacer una pregunta si?

Vos tenes una tabla que cuando borras queres que se borren en otra tabla
cosas verdad!!" bien estos parametros que vos le queres pasar no los podes
sacar de la tabla que estas borrando por ej?

Si me explicaras un poco mejor quizas te pueda ayudar mejor :-D


Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"Sergio" escribió en el mensaje
news:OHafyuF$
Hola amigos, lo q verdaderamente quiero hacer es que el trigger
reciba un parametro y ese parametro sea utilizado por la sentencia Sql, la
realidad es que quiero hacer un delete contra una tabla2 cuando se realiza
el delete en la tabla1 pero el delete en la tabla2 se realiza bajo ciertas
condiciones.
Ejemplo
CREATE TRIGGER prueba1 ON dbo.usuarios
FOR DELETE
AS
DELETE
FROM asientodiario_det
WHERE codempresa = @codempresa and codigo = (select codigo from
asientodiario_cab where codempresa = @codempresa and nroboleta @nroboleta
and tipo = 'CO' )

DELETE
FROM asientodiario_cab
WHERE nroboleta = @nroboleta and tipo = 'CO' and codempresa = @codempresa

pero no se como puedo pasar los parametros @ al trigger que me envia mi
aplicacion para
q pueda ejecutarse el trigger,
por ejemplo en el caso de los stored procedures tenemos CREATE PROCEDURE
spborrado_traspasoautomatico(@codempresa int,@nroboleta char(20),@bandera
smallint) donde es visble en la cabecera los parametros recibidos
pero en el caso de los trigger como lo realizaria.
Gracias







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.593 / Virus Database: 376 - Release Date: 22/02/2004
Respuesta Responder a este mensaje
#2 Miguel Egea
26/02/2004 - 14:06 | Informe spam
Sergio, no se pueden pasar parámetros a un trigger..
Ahora bien, puede simularse,
Create una tabla con la estructura de parámetros que necesites
(¿doceempresa,nroboleta?) y añadele un campo spid
inserta en esa tabla los valores @@spid,TuDocEmpresa,TUNroboleta, después
haz un join con esa tabla en tu delete.


Saludos

Miguel Egea
Microsoft SQL-SERVER MVP
Brigada Anti-Cursores

"Sergio" escribió en el mensaje
news:OHafyuF$
Hola amigos, lo q verdaderamente quiero hacer es que el trigger
reciba un parametro y ese parametro sea utilizado por la sentencia Sql, la
realidad es que quiero hacer un delete contra una tabla2 cuando se realiza
el delete en la tabla1 pero el delete en la tabla2 se realiza bajo ciertas
condiciones.
Ejemplo
CREATE TRIGGER prueba1 ON dbo.usuarios
FOR DELETE
AS
DELETE
FROM asientodiario_det
WHERE codempresa = @codempresa and codigo = (select codigo from
asientodiario_cab where codempresa = @codempresa and nroboleta @nroboleta
and tipo = 'CO' )

DELETE
FROM asientodiario_cab
WHERE nroboleta = @nroboleta and tipo = 'CO' and codempresa = @codempresa

pero no se como puedo pasar los parametros @ al trigger que me envia mi
aplicacion para
q pueda ejecutarse el trigger,
por ejemplo en el caso de los stored procedures tenemos CREATE PROCEDURE
spborrado_traspasoautomatico(@codempresa int,@nroboleta char(20),@bandera
smallint) donde es visble en la cabecera los parametros recibidos
pero en el caso de los trigger como lo realizaria.
Gracias


Respuesta Responder a este mensaje
#3 ulises
26/02/2004 - 15:46 | Informe spam
No puedes pasarle parámetros a un trigger, y a menos que
puedas obtener ese valor a través de una consulta en
alguna tabla no le veo forma en como lo implementes, en
todo caso puedes usar un stored procedure de eliminación
este se encargaría de realizar todas las actualizaciones,
eliminaciones o inserciones cuando se produce una
eliminación en una tabla, esto debe ir de la mano con no
dar permisos de eliminación a nadie directamente en la
tabla sino que tendría que hacerlo a través del permiso de
ejecución del sp.

Saludos,
Ulises

Hola amigos, lo q verdaderamente quiero hacer es que el


trigger
reciba un parametro y ese parametro sea utilizado por la


sentencia Sql, la
realidad es que quiero hacer un delete contra una tabla2


cuando se realiza
el delete en la tabla1 pero el delete en la tabla2 se


realiza bajo ciertas
condiciones.
Ejemplo
CREATE TRIGGER prueba1 ON dbo.usuarios
FOR DELETE
AS
DELETE
FROM asientodiario_det
WHERE codempresa = @codempresa and codigo = (select


codigo from
asientodiario_cab where codempresa = @codempresa and


nroboleta = @nroboleta
and tipo = 'CO' )

DELETE
FROM asientodiario_cab
WHERE nroboleta = @nroboleta and tipo = 'CO' and


codempresa = @codempresa

pero no se como puedo pasar los parametros @ al trigger


que me envia mi
aplicacion para
q pueda ejecutarse el trigger,
por ejemplo en el caso de los stored procedures tenemos


CREATE PROCEDURE
spborrado_traspasoautomatico(@codempresa int,@nroboleta


char(20),@bandera
smallint) donde es visble en la cabecera los parametros


recibidos
pero en el caso de los trigger como lo realizaria.
Gracias


.

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