PLSQL语法

PL/SQL
一、游标
1、为什么是用游标
就像Java程序中有集合的概念,在pl/sql中也会用到多条记录,这时我们使用游标可以存储查询返回的多条数据。
2、语法
cursor 游标名 [(参数名 数据类型,参数名 数据类型…)] is select 语句;
1)、例如:cursor cl is select ename from emp;
2)、使用步骤:

打开游标 open cl;
取一行游标的值: fetch cl into pjob;(取一行到变量中)
关闭游标: close cl;
游标的结束方式:exit when cl%notfound;

二、四种可存储的程序
pl/sql程序快客背独立编译并存储在数据库中,任何与数据库链接的应用程序都可以访问这些存储的pl/sql程序快。Oracle提供了四种类型的可存储的程序
1. 存储函数
语法:

create or replace function 函数名(Name in type, Name in type, ...) return  is
  结果变量  数据类型;
begin
  return(结果变量);
end 函数

这里写图片描述

2. 存储过程
语法:

create or replace procedure 过程名(参数名 in/out 数据类型) is
begin
    PL/SQL子程序体;
end 过程名;

这里写图片描述
存储函数和存储过程的区别:
过程和函数的区别在于函数可以有一个返回值,而过程函数没有。但过程和函数都可以通过out指定一个或多个输出参数,我们可以利用out参数,在过程和函数中返回多个值。
3. 包

4.触发器
1)、定义:
与表相关联的,存储的pl/sql程序。每当一个特定的数据操作语句(delete、update、insert)在指定的表上发出时,oracle自动执行触发器中定义的语句

数据确认。 示例:员工涨后工资不能少于涨前工资。

实施复杂的安全性检查。 示例:禁止在非工作时间插

跟踪审计,记录在表上进行的数据操作。

数据的备份和同步

3、语法

create or replace trigger 触发器名
  [before|after] [delete|update|insert] 
  on 表名  
  for each row[where [条件]]
declare
  
begin
  pl/sql块
end 触发器名;



4、范例

---插入员工后打印一句话:“一个新员工被插入”
create or replace trigger first
  after insert  on emp  
declare
begin
     dbms_output.put_line('一个新员工被插入');
end first;

---后续执行语句
insert into emp(empno,ename,sal,deptno) values (1001,'yangyang',5000,10);
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值