首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

小弟我想在非当前数据库上创建触发器?

2012-01-24 
我想在非当前数据库上创建触发器???CREATEPROCEDUREsp_AddTrigger@FromDbNamevarchar(50)@ToDbNamevarchar

我想在非当前数据库上创建触发器???
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)
原理与换到另一库上执行一样
[解决办法]
只能在当前库中创建触发器

热点排行
Bad Request.