Oracle学习06——程序包、触发器、函数、存储过程

一.触发器

触发器分为:语句级触发器,行级触发器,替换触发器,用户事件触发器
触发器的语法格式
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代码手敲并理解…
声明程序包
在这里插入图片描述
创建包主体内容
在这里插入图片描述
具体过程,算出指定职位的部门的平均工资
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值