再请教SQL 2000 触发器问题.

wag_enu 2009-11-10 11:29:31
当前事务连接的是 master 数据库.

在master 库的表 tb 中的删除触发器要实现删除其它数据库的表(try2009a数据库 上的 tb表)上的指定触发器( try_insdelupd) ,怎么写代码?
...全文
84 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
--小F-- 2009-11-10
  • 打赏
  • 举报
回复
好象是直接删除触发器
create trigger f_del on master..tb
for delete
as
drop trigger try2009a..tb.try_insdelupd
SQL77 2009-11-10
  • 打赏
  • 举报
回复
CREATE TRIGGER TRI_DELETE ON MASTER..TB
FOR DELETE
AS
DROP TRIGGER TRY2009A..TB.TRY_INSDELUPD
快乐_石头 2009-11-10
  • 打赏
  • 举报
回复
刪除觸發器?
還是刪除數據?
其他數據庫是本機還試跨服務器?
wag_enu 2009-11-10
  • 打赏
  • 举报
回复
是这样写的哈:

DECLARE  @ls_sql  VARCHAR(8000)
SELECT @ls_sql='use try2009a
drop trigger try_insdelupd'
exec (@ls_sql)
wag_enu 2009-11-10
  • 打赏
  • 举报
回复
楼上两位朋友的代码运行时提示:

对象 名称 'try2009a..tb.' 包含的前缀数目超过了最大值。最大值为 2。

如果改成:drop trigger try2009a..try_insdelupd,则提示:

'DROP TRIGGER' 不允许将数据库名称指定为对象名前缀。

最后试了下用这样倒是可以:

DECLARE @ls_sql VARCHAR(8000)
SELECT @ls_sql='use try2009a
drop trigger tb.try_insdelupd'
exec (@ls_sql)


不知道其它更好的方法.

11,849

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧