DB2 触发器

发布于 2024-03-23 14:16:46 字数 3189 浏览 19 评论 0

本章介绍触发器,触发器的类型,触发器的创建和删除。

介绍

触发器是一组动作,用于响应数据库中指定表上的 INSERT,UPDATE 或 DELETE 操作。触发器立即存储在数据库中。他们处理数据治理。可以在多个应用程序之间访问和共享它们。使用触发器的好处是,如果需要在应用程序中进行任何更改,则在触发器处完成;而不是更改正在访问触发器的每个应用程序。触发器易于维护,并且可以加快应用程序开发的速度。触发器是使用 SQL 语句“ CREATE TRIGGER”定义的。

触发类型

有两种类型的触发器:

1.触发之前

它们在任何 SQL 操作之前执行。

2.后触发器

它们在任何 SQL 操作之后执行。

创建一个 BEFORE 触发器

让我们看看如何创建触发器序列:

句法:

db2 create sequence  

示例:为表 shopper.sales1 创建触发器序列

db2 create sequence sales1_seq as int start with 1 increment by 1 

句法:

db2 create trigger  no cascade before insert on 
 referencing new as  for each row set 
.=nextval for  

示例:为 shopper.sales1 表创建触发器以自动插入主键号

db2 create trigger sales1_trigger no cascade before insert on 
shopper.sales1 referencing new as obj for each row set 
obj.id=nextval for sales1_seq

现在尝试插入任何值:

db2 insert into shopper.sales1(itemname, qty, price) 
values('bicks', 100, 24.00) 

从表中检索值

让我们看看如何从表中检索值:

句法:

db2 select * from 

范例

db2 select * from shopper.sales1

输出

ID       ITEMNAME       QTY 
-------  ------------   ---------- 
    3      bicks            100 
    2      bread            100 
  
  2 record(s) selected. 

创建一个 AFTER 触发器

让我们看看如何创建一个 After 触发器:

句法:

db2 create trigger  no cascade before insert on 
 referencing new as  for each row set
 .=nextval for  

示例: [要插入和检索值]

db2 create trigger sales1_tri_after after insert on shopper.sales1 
for each row mode db2sql begin atomic update shopper.sales1 
set price=qty*price; end  

输出:

//inseting values in shopper.sales1 
db2 insert into shopper.sales1(itemname,qty,price) 
values('chiken',100,124.00) 
//output 
ID    ITEMNAME       QTY         PRICE 
----- -------------- ----------- -----------                      
    3 bicks          100         2400.00 
    4 chiken         100         12400.00 
    2 bread          100         2400.00 

    3 record(s) selected. 

放下扳机

这是删除数据库触发器的方式:

句法:

db2 drop trigger   

例:

db2 drop trigger slaes1_trigger   

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

0 文章
0 评论
772 人气
更多

推荐作者

我们的影子

文章 0 评论 0

素年丶

文章 0 评论 0

南笙

文章 0 评论 0

18215568913

文章 0 评论 0

qq_xk7Ean

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文