一.触发器
触发器分为:语句级触发器,行级触发器,替换触发器,用户事件触发器
触发器的语法格式
create [or replace] trigger tri_name
[before| after | instead of] tri_event
on table_name| view_name| user_name| db_name
[for each row [when tri condition]
begin
plsql sentences;
end tri_name;
2-[触发器]sentence_level代码手敲并理解…
语句触发器
创建日志表,以便后续查看:
创建触发器,作用是当添加、删除、更新表中的数据,将对应的信息存储在dept_log表里:
查看var_log的详细信息
3-[触发器]tri_insert_good 行级触发器代码手敲并验证…自动创建主键值.
行级触发器
创建good表,存放商品的id和name
创建自增序列(id用)
创建触发器,插入数据并查看结果
普通方式插入数据:
可以看出差异。
删除触发器:drop triggrer db_name|tri_name;
二.函数
4-[函数]create_func 代码手敲并掉用函数 get_agv_pay…最后删除函数get_agv_pay.
创建函数,作用是计算部门工资的平均值,取两位小数
传入参数并返回结果:
三.存储过程
创建存储过程格式
create [or replace] procedure pro_name [(parameter1[,parameter2…)] is //在declare部分声明
begin
plsql_sentences;
[exception]
[dowith_entences;]
end [pro_name];
5-[存储过程]create_procedure…pro_insertDept代码手敲并调用.
6-show error 在sqlplus中可以显示编译错误么?
可以,如图所示,在show errors后显示详细信息
7-[存储过程]in_pro…insert_dept代码手敲并调用.带入参存储过程.
IN参数传递(1)指定名称传递参数(2)按位置传递(3)混合模式传递
8-[存储过程]pro_out…select_dept代码手敲并调用.带入参+返参存储过程.
创建存储过程select_dept
传入参数并返回成功
9-[存储过程]default_value… insert_dept代码手敲并调用.带默认值入参存储过程,插入数据。
创建存储过程insert_dept
传入参数并返回
四.程序包
1-[程序包]pack_body_emp 、exec_package代码手敲并理解…
声明程序包
创建包主体内容
具体过程,算出指定职位的部门的平均工资