From 8b55957b558e8f6686ceaacd1222a938f8a85c3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BB=96=E6=B2=BB=E5=85=88?= <1930069369@qq.com> Date: Mon, 10 Oct 2022 09:26:20 +0000 Subject: [PATCH 1/2] =?UTF-8?q?=E7=AC=AC=E5=8D=81=E4=B8=80=E6=AC=A1?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 廖治先 <1930069369@qq.com> --- .../2022-10-10 \344\275\234\344\270\232 .sql" | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 "07 \345\273\226\346\262\273\345\205\210/\344\275\234\344\270\232/2022-10-10 \344\275\234\344\270\232 .sql" diff --git "a/07 \345\273\226\346\262\273\345\205\210/\344\275\234\344\270\232/2022-10-10 \344\275\234\344\270\232 .sql" "b/07 \345\273\226\346\262\273\345\205\210/\344\275\234\344\270\232/2022-10-10 \344\275\234\344\270\232 .sql" new file mode 100644 index 0000000..b5f83b9 --- /dev/null +++ "b/07 \345\273\226\346\262\273\345\205\210/\344\275\234\344\270\232/2022-10-10 \344\275\234\344\270\232 .sql" @@ -0,0 +1,28 @@ +--1вűԱԱʱ򣬸ԱIJűڲűҲԶӲϢΪ"²" + create trigger adddepart + on people for insert + as + declare @id varchar(20) = (select DepartmentId from inserted) + if not exists(select * from Department where DepartmentId=@id) + begin + insert into Department values(@id,'²') + end + ; + insert into People values('004','ܲ','',10000) +--2ʵ֣ɾһŵʱ򽫲Աȫɾ + create trigger deletedepart + on department for delete + as + declare @id varchar(20)=(select DepartmentId from deleted) + delete from people where DepartmentId=@id + ; + delete from Department where DepartmentId='006' +--4޸һű֮󣬽òԱIJűͬ޸ + create trigger updatedepart + on department for update + as + declare @oldid varchar(20)=(select DepartmentId from deleted) + declare @newid varchar(20)=(select departmentid from inserted) + update People set DepartmentId=@newid where DepartmentId=@oldid + ; + update Department set DepartmentId='005' where DepartmentId='004' -- Gitee From 4898272778253b752ac2b497d01781e4424f54f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BB=96=E6=B2=BB=E5=85=88?= <1930069369@qq.com> Date: Mon, 10 Oct 2022 09:26:47 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=E7=AC=AC=E5=8D=81=E4=B8=80=E6=AC=A1?= =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 廖治先 <1930069369@qq.com> --- .../2022-10-10\347\254\224\350\256\260.md" | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 "07 \345\273\226\346\262\273\345\205\210/\347\254\224\350\256\260/2022-10-10\347\254\224\350\256\260.md" diff --git "a/07 \345\273\226\346\262\273\345\205\210/\347\254\224\350\256\260/2022-10-10\347\254\224\350\256\260.md" "b/07 \345\273\226\346\262\273\345\205\210/\347\254\224\350\256\260/2022-10-10\347\254\224\350\256\260.md" new file mode 100644 index 0000000..7a9c437 --- /dev/null +++ "b/07 \345\273\226\346\262\273\345\205\210/\347\254\224\350\256\260/2022-10-10\347\254\224\350\256\260.md" @@ -0,0 +1,40 @@ +触发器(trigger) + +触发器主要用于:insert(增),update(改),delete(删)(在执行完增/删/改 后自动运行触发器中的代码) + + + +创建触发器 + +create trigger <触发器名称> + +on 执行操作的表名 for [delete,insert,update] (增,删,改的 操作) + +as + +​ sql 语句 + +; + + + +1.插入操作(insert) + +在触发器中会生成一个inserted表来帮助存储插入的数据 + +2.删除操作(delete) + +在触发器中会生成一个deleted表来帮助存储插入的数据 + +3.更新操作(update) + +更新操作需要使用inserted表和deleted表来进行数据修改 + +inserted表中存的是(新数据),deleted表中存的为(旧数据) + + + + + + + -- Gitee