如何写这种更新和删除触发器

xiangr19 2006-06-21 05:11:18
有表d1.dbo.t1 和d2.dbo.t2两个表
他们有共同和字段UserID
那么要求
1.当表t1里任何一条或多条记录,被update更后,那么表t2相应的UserID相等当的 记录也将更新
2 .当表t1里任何一条或多条记录,被Delete删除后,那么表t2相应的UserID相等当的 记录也将删除
求:这两个update和delete触发器代码
...全文
229 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
paoluo 2006-06-22
  • 打赏
  • 举报
回复
UserID不用自增列來做,觸發器往兩表插入數據的時候也加上UserID字段。
xiangr19 2006-06-22
  • 打赏
  • 举报
回复
如果不用自动增加类型,那么如何能让此表每插入一条记录就自动地加一,填入此字段呢,SQL语句实现吗,如何实现的?!
paoluo 2006-06-22
  • 打赏
  • 举报
回复
為了兩表數據一樣,UserID不要采用自增列來做。
xiangr19 2006-06-22
  • 打赏
  • 举报
回复
TO paoluo(一天到晚游泳的鱼) ( ) 信誉:100
的方法可行,但还有一个问题需要解决,就是在插入 UserID的时候由于两个表的数值不相同由于它自动增加字段,所以两块表的记录数不同可能会导致新加的记录,的ID号不相同的情况,但是由于是自动增加字段,又拒绝插入数据,该怎么解决两个UserID字段相同的问题呢
LouisXIV 2006-06-21
  • 打赏
  • 举报
回复
用级联也可以,不过不如触发器灵活
flashspider 2006-06-21
  • 打赏
  • 举报
回复
不能使用级联约束吗?
paoluo 2006-06-21
  • 打赏
  • 举报
回复
那我寫的就是你的需求了
LouisXIV 2006-06-21
  • 打赏
  • 举报
回复
^^;

你说数据库同步不就得了,还以为你2个表结构不一样呢
xiangr19 2006-06-21
  • 打赏
  • 举报
回复
只有有一个改变,就必须根着改变 那么些t2 第一行为 1 3
以共同有的ID为依据
实际上我做的是一个数据同步,当一个表改变,另一个表也改变,变化原则是依据某一ID,终使保持两个表的数据100%的完全一样
LouisXIV 2006-06-21
  • 打赏
  • 举报
回复
假设t1有a,b2个字段 t2有a,c2个字段

数据如下
t1
a b
1 1
2 2

t2
a c
1 aa
2 bb

你更新t1为
a b
1 3
2 2
的时候让t2的第一行怎么更新??

麻烦说清楚点
xiangr19 2006-06-21
  • 打赏
  • 举报
回复
注明;更新的时候,不会涉及数据源,要么一次更新一次,要么使用where 语句
paoluo 2006-06-21
  • 打赏
  • 举报
回复

--假設只有兩個字段UserID 、UserName,可根據實際情況修改觸發器

Use d1
GO
Create Trigger Deletett2 On t1
For Delete
As
Delete A From d2.dbo.t2 A Inner Join Deleted B On A.UserID=B.UserID
GO
Create Trigger Updatet2 On t1
For Update
As
Update A Set UserName=B.UserName From d2.dbo.t2 A Inner Join Inserted B On A.UserID=B.UserID
GO
LouisXIV 2006-06-21
  • 打赏
  • 举报
回复
删除还好说

t2更新的数据源在哪里?表结构不同数据又不能套用

27,579

社区成员

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

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