惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
爱范儿
爱范儿
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
大猫的无限游戏
大猫的无限游戏
Hugging Face - Blog
Hugging Face - Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Vercel News
Vercel News
人人都是产品经理
人人都是产品经理
G
Google Developers Blog
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
雷峰网
雷峰网
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
博客园 - 叶小钗
D
DataBreaches.Net
D
Docker
月光博客
月光博客
博客园 - 司徒正美
Last Week in AI
Last Week in AI
有赞技术团队
有赞技术团队
腾讯CDC
酷 壳 – CoolShell
酷 壳 – CoolShell

博客园 - liuqun

oracle优化7(如何干预执行计划 - hints) oracle优化6(使用sql_trace/10046事件进行数据库诊断) oracle优化5(用索引提高效率) oracle优化4(sql语句性能诊断,sql执行计划) oracle优化3(访问Table的方式) oracle优化2(选用适合的ORACLE优化器) oracle优化1(数据库、数据表、数据表I/O优化原则) Oracle常用命令14(.net / java代码调用(sql代码、程序包过程)) Oracle常用命令13(数据库的启动、关闭) Oracle常用命令12(导入:imp、导出:exp) Oracle常用命令10(程序包) Oracle常用命令9(函数) Oracle常用命令8(过程) Oracle常用命令7(游标) Oracle常用命令6(PL/SQL) Oracle常用命令5(同义词、视图、索引) Oracle常用命令4(表分区) Oracle常用命令3(DDL、DML、TCL、DCL、序列) Oracle常用命令2(用户、角色管理)
Oracle常用命令11(触发器)
liuqun · 2011-03-29 · via 博客园 - liuqun

触发器

CREATE [OR REPLACE] TRIGGER trigger_name

AFTER | BEFORE | INSTEAD OF

[INSERT] [[OR] UPDATE [OF column_list]]

[[OR] DELETE]

ON table_or_view_name

[REFERENCING {OLD [AS] old / NEW [AS] new}]

[FOR EACH ROW]

[WHEN (condition)]

pl/sql_block;

启用和禁用触发器

ALTER TRIGGER 触发器名 DISABLE/ENABLE;

删除触发器

DROP TRIGGER 触发器名;

显示有关触发器的信息

select trigger_name from dba_triggers/user_triggers;

显示某个表中的触发器的信息

select trigger_name from dba_triggers/user_triggers where table_name = '表名';

1:当订单明细商品数量、价格改变时,订单中的金额随之改变

create or replace trigger tri_product

after update of D_QUANTITY,D_PRICE on orderdetail

for each row

declare

       updateSum number;

begin    

       --得到订单明细的商品数量改变后的订单总金额,将订单表中的金额进行修改

       updateSum := :new.D_QUANTITY * :new.D_PRICE - :old.D_QUANTITY * :old.D_PRICE;

       dbms_output.put_line(:old.o_id);

       update orderTab set O_MONEY = O_MONEY + updateSum where O_ID = :old.O_ID;

end;

--测试触发器:订单明细商品数量、价格改变时,订单中的金额随之改变

update orderdetail set d_quantity = 3 where d_id=2;