Select p/ retornar se uma Trigger esiste

13/01/2006

Olá pessoal,

Gostaria de saber como faço um select no SQL Server 2000
para retornar se uma trigger já existe na tabela que eu indicar.

Eu sei trazer as Tabelas, Nomes de Campo, Views e Stored Procedure
mas Trigger não estou conseguindo fazer.

Pessoal, por favor me ajudem!

Desde já, agradeço a atenção!


Obrigado! :)


Marcioih

Respostas

16/01/2006

Viniciusnunes

Caro Amigo

segue o script para ajudar vc.

declare @NomeTrigger varchar(50)
declare @NomeTabela varchar(50)

set @NomeTrigger = ´TRIGGER_TABELA´
set @NomeTabela = ´NOME_TABELA´

SELECT so.id,
so.name,
so.xtype,
sot.id,
sot.name,
sot.xtype

FROM sysobjects so , --PROCURA PELA TABELA
sysobjects sot -- PROCURA PELA TRIGER
WHERE
so.name = @NomeTabela
and so.xtype = ´U´
and so.deltrig is not null
and so.instrig is not null
and so.updtrig is not null
and sot.ID = case when so.deltrig is not null then so.deltrig
when so.instrig is not null then so.instrig
when so.updtrig is not null then so.updtrig
end
and sot.xtype = ´TR´
and sot.name = @NomeTrigger


Obs : Depois que vc resolver o seu problema tente enteder o que eu fiz.

Boa Sorte

Se precisar estou as ordens.


Responder Citar

24/01/2006

Emerson

para saber se há [b:d398fab040]alguma[/b:d398fab040] trigger na tabela:
select
  *
from
  dbo.sysobjects
where
  parent_obj = object_id(N´[dbo&93;.&91;NomeDaSuaTabela&93;´)
  and (OBJECTPROPERTY(id, N´IsTrigger´) = 1)


para saber se há [b:d398fab040]uma trigger específica[/b:d398fab040] na tabela:
select
  *
from
  dbo.sysobjects
where
  id = object_id(N´NomeDaSuaTrigger´)
  and parent_obj = object_id(N´&91;dbo&93;.&91;NomeDaSuaTabela&93;´)
  and (OBJECTPROPERTY(id, N´IsTrigger´) = 1)



Responder Citar