我有一个触发器,我希望这个触发器引用哪些表。对于sql server中的规则也是如此。我的数据库中有一个规则,我想要创建它的表名。 索引也是如此。
========================= EDIT ===================
如果发生以下触发定义:
CREATE TRIGGER [dbo].[trgAfterInsert] ON dbo.[Employee_Test]
FOR INSERT
AS
declare @empid int;
declare @empname varchar(100);
declare @empsal decimal(10,2);
declare @audit_action varchar(100);
select @empid=i.Emp_ID from inserted i;
select @empname=i.Emp_Name from inserted i;
select @empsal=i.Emp_Sal from inserted i;
set @audit_action='Inserted Record -- After Insert Trigger.';
insert into Employee_Test_Audit
(Emp_ID,Emp_Name,Emp_Sal,Audit_Action,Audit_Timestamp)
values(@empid,@empname,@empsal,@audit_action,getdate());
PRINT 'AFTER INSERT trigger fired.'
GO
在这种情况下,2个表应显示为依赖表,Employee_Test
和Employee_Test_Audit
。如何获取这些名称?
答案 0 :(得分:1)
试试这个
SELECT OBJECT_NAME(parent_id) AS tablename, *
FROM [databasename].sys.triggers
答案 1 :(得分:0)
您可以尝试以下代码: " sp_depends触发名称" 这将提供所有详细信息,如调用的存储过程和触发器引用的用户表。