我想在非当前数据库上创建触发器???
CREATE PROCEDURE sp_AddTrigger
@FromDbName varchar(50)
@ToDbName varchar(50)
AS
declare @sql varchar(8000)
IF(@FromDbName = 'Test ')
Begin
set @sql = 'CREATE TRIGGER trigger_Insert ON '+@FromDbName+ '.dbo.myTest
FOR INSERT
AS
insert into materialrequestContrast values( ' '333 ' ',getdate()) '
exec(@sql)
End
GO
报错:服务器: 消息 2108,级别 16,状态 1,过程 trigger_Insert,行 4
无法在表 'Test.dbo.myTest ' 上创建触发器,因为只能在当前数据库中的表上创建触发器。
请问这个问题怎么解决??
------解决方案--------------------use test
go
declare @s varchar(4000)
set @s= 'create trigger tritest on test.dbo.tt for insert as update tt set name= ' '1 ' ' '
exec(@s)
原理与换到另一库上执行一样
------解决方案--------------------只能在当前库中创建触发器