触发器经典回答

本文介绍如何在SQL Server 2000环境中实现跨数据库的触发器。具体目标是在data1数据库的table表中每当有新记录插入时,检查这些记录的名字是否存在于data2数据库的name表中。如果存在,则更新对应的年龄信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQL SERVER 2000数据库
其中有2个数据库 数据库 data1和数据库data2
其中data1有一个表格table字段如下
id 自动
name 名字
age 年龄 //这个数据库会经常的插入数据
然后 数据库data2 有2个表 一个name表

id 自动
name 名字
age 年龄 //这个表的内容固定不动
另一个表 是工具data1的table触发

当data1的table写入数据的时候。查询这个名字name是否在data2的name中
如果在的话,那么将这条记录 插入data2的那个接受触发的表格内!

请问在data1的table上这么写这个触发器呢?

-------------------------------------------------------------------------------------------------

由于跨库了,必须代库名和用户名...

CREATE TRIGGER t_ins ON data1.dbo.table
FOR INSERT
AS
DECLARE @name CHAR(10)
DECLARE @age INT
select @name = name , @age = age FROM data1.dbo.table inserted

IF EXISTS (Select * from data2.dbo.name where name = @NAME)
BEGIN
update data2.dbo.name set age=@age where name=@name
END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值