回 帖 发 新 帖 刷新版面

主题:SQL触发器的问题,这个触发器不会

我要建立一个触发器:
我有一个表,有24个字段,假设其中的第14个字段或者第15个字段任意一个字段改动,将执行触发器操作,操作的内容是:将这个表的当前记录复制到另一个表中。请问如何操作,谢谢!
另外:在SQL里如何用命令上移一个记录,下移一个记录,如果将当前记录的字段的值赋给变量。谢谢!

回复列表 (共3个回复)

沙发

create trigger trigger_name on table_name for update as
if update(第14字段) or update(第15字段)
insert 另一个表 select * from inserted --新记录,如原记录则为deleted


在sqlserver表中没有上一记录下一记录的概念
除非在表中建一列来记录位置
如从一记录行集中取上一记录或下一记录,则要用游标

板凳


很是感谢,那么这样会不会将原来的表的所有记录全部插入到另一个记录.假设:
原表
姓名 分数 科目
张三 78  语文
张四 78  化学
张五 78  英语
张六 78  数据
要插入的新表
姓名 分数 科目
假设我修改了张五的分数为90,那么系统自动将
张五 78 英语
插入到新表中,而不是插入的90.
请问如何实现!谢谢!
如果说上述是只插入了当前记录,那么要插入全部记录如何实现!

3 楼

假设我修改了张五的分数为90,那么系统自动将
张五 78 英语
插入到新表中,而不是插入的90.
请问如何实现!谢谢!

====

create trigger trigger_name on table_name for update as
if update(第14字段) or update(第15字段)
insert 另一个表 select * from deleted

这样只插入一条原记录

张五 78 英语

我来回复

您尚未登录,请登录后再回复。点此登录或注册