问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SQL Trigger怎么写?

发布网友 发布时间:2022-04-23 15:07

我来回答

3个回答

懂视网 时间:2022-05-02 20:49

触发器TRIGGER 是一个被指定关联到一个表的数据库对象,当对一个表的特定事件出现时,它将被激活。

触发器是数据库响应 INSERT , UPDATE, DELITE 语句而自动执行的一条SQL语句(或位于BEGIN 和 END 语句之间的一组SQL语句)。

具体语法如下

技术分享图片

技术分享图片

SQL-2--TRIGGER

标签:数据库   数据库对象   事件   src   数据   sql语句   技术   特定   语法   

热心网友 时间:2022-05-02 17:57

Table Name: TB_1,TB_2 (两个table 结构完全一样)

Create Table TB_1(ID Int, Name_1 varchar(20),Status varchar(20) ,Type Varchar(20))

Create Table TB_2(ID Int, Name_1 varchar(20),Status varchar(20) ,Type Varchar(20))

-- 为Tb_1创建Trigger, 当 TB_1 发生变化时,变化的信息(Insert ,Update,Delete)将保存于 TB_2 中,Update是两条记录,Update 之前和之后 都要保存盐类

Create trigger Trig_t2
On Tb_1
For Insert,Update,Delete
As
declare @id int,
@name_1 varchar(20),
@status varchar(20)

If not exists(Select 1 from deleted) ----Insert
Begin
select @id=id, @name_1=name_1,@status=status from inserted
insert into tb_2(id,name_1,status,type)values(@id,@name_1,@status,'Insert')
End

If exists(select 1 from inserted) and exists(select 1 from deleted) ---Update
Begin
/* Update Before */
select @id=id, @name_1=name_1,@status=status from deleted
insert into tb_2(id,name_1,status,type)values(@id,@name_1,@status,'UpdateBefor')

/* Update End */
select @id=id, @name_1=name_1,@status=status from inserted
insert into tb_2(id,name_1,status,type)values(@id,@name_1,@status,'UpdateEnd')
End

If not exists(select 1 from inserted) ---Delete
Begin

select @id=id, @name_1=name_1,@status=status from inserted
insert into tb_2(id,name_1,status,type)values(@id,@name_1,@status,'Delete')
End

----测试----

insert into tb_1(id,name_1,status)values('1','1','1')
select * from tb_1
select * from tb_2

id name_1 status type
----------- -------------------- -------------------- --------------------------------------------------
1 1 1 NULL

(1 row(s) affected)

id name_1 status type
----------- -------------------- -------------------- --------------------------------------------------
1 1 1 Insert

-----------测试Update---------------

update tb_1 set name_1='2'where id='1'

select * from tb_1
select * from tb_2

id name_1 status type
----------- -------------------- -------------------- --------------------------------------------------
1 2 1 NULL

(1 row(s) affected)

id name_1 status type
----------- -------------------- -------------------- --------------------------------------------------
1 1 1 Insert
1 1 1 UpdateBefor
1 2 1 UpdateEnd

热心网友 时间:2022-05-02 19:15

用插入触发器
要添加记录的设表名为thistable,要用触发器修改的另一个表为TABLE_OTHER,为叙述简便,设置其结构相同,都有三个字段,字段名为field1,field2,field3,
则通过下面的触发器,可以实现一个插入命令同时给两个表添加记录。
create trigger ins_triggername on thistable FOR insert
as
begin
DECLARE @FIELD1 VARCHAR(10),@FIELD2 INT,@FIELD3 FLOAT

SELECT @FIELD1=FIELD1,@FIELD2=FIELD2,@FIELD3=FIELD3 FROM INSERTED

INSERT INTO TABLE_OTHER SELECT @FIELD1,@FIELD2,@FIELD3
end
go
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...其他人都无问题,确定网络连接无问题,请问是什么原因? 描写花朵从花蕾到开放的句子 描写花蕾的优美句子 ...毒毛和鲜艳色斑,一般食虫鸟不敢捕食,这在生物学上属于…( )A.保护... 安徽名人出身地 山东中专学校有哪些? 山东现代职业学院毕业是本科还是大专还是高职? 我春考考了374我不知道报哪个学校 山东现代学院中专部好不好 为什么我号卖了100元藏宝阁待审核金就40元 是咋么回事呀 sql 触发器的基本概念 如何矫正驼背? 驼背的人面临的脊椎问题更少? 有驼背的情况,该如何改善才好? 驼背很难看,怎么才能彻底摆脱驼背吗? 怎么才能纠正驼背等不良姿势呢? 少女驼背怎么回事 驼背会让人看着没有精气神,怎样可以改善驼背? 导致驼背的现象发生的因素是什么? 为什么男生大都驼背,而女生却很少有 为什么舞蹈生很少驼背? 中国有多少人驼背 华为手机不显示怎么设置? 胖人为什么很少有驼背的? 为什么女生很少驼背 二十多岁的年轻人驼背是不是很少? 为什么女生驼背比男生少呢? 为什么女孩子驼背的人很少,男孩子很多? sooths因陪母亲逛街放弃了TI预选赛关键局,这对他之后的比赛有什么影响? 徐志雷完全具备夺冠实力,为什么徐志雷每年TI都拿不了冠军? SQL trigger SQl中触发器怎样执行的? SQL trigger的问题 SQL中的“触发器”是什么? sql触发器 怎么写? sql触发器代码? SQL触发器的具体含义与主要用途 SQL触发器编写 SQL触发器 女孩子取朱一什么好听 医馆笑传朱一和柳若馨是不是意外吻上了 叫朱一的有多少人? 男孩子取名字,想叫朱一什么。像朱一凡,这样子,想后面的字特别点,有点意义的。 姐姐叫朱一禾,弟弟或妹妹有什么好名字,最好叫朱一( ), 朱一柯名字含义好不好 朱一早的名字是什么含义? 朱一脚本怎么用不了?总是处在"加载妈妈计划中..."从6月3日开始的。(PSV用户) 朱一龙说:很感激赵丽颖曾帮我,我只适合踏踏实实做演员,他为何这样说... 朱一瑄这个名字好听吗? 桑葚的简单清洗方法?