PL/SQL

PL/SQL 是在SQL基础上添加过程化的能力.PL的意思是procedure language

 

结构:

Declare

--定义说明部分,例如定义变量

Begin

--程序开始执行

Exception

--例外执行部分

End;

/

 

 

Desc  不仅可以查询表,同样也可以查询程序包,例如dbms_output

 

打开输出开关:   set serveroutput on;

 

/  表示执行上一条命令

 

 

基本变量类型

 

引用变量类型:

变量名  表名.字段名%type;

 

记录变量类型

变量名 表名%rowtype

 

如何从键盘接收一个输入

Accept num  prompt ‘请输入一个数字’

Declare

Pnum number;

Begin

Pnum:=#

End;

/

 

循环

While conditions loop

Xxxxxxxxxxxx

End loop;

 

Loop

Exit when conditions

Xxxxxx

xxxxxx

End loop;

 

For x in 1..3 loop

Xxxxxxxxxxx

Xxxxxxxx

End loop;

 

 

 

引用变量是 针对表中一个字段

记录变量是 针对表中一行记录

光标 是针对 一组记录,相当于记录的集合

 

光标操作步骤

1 定义光标

 Cursor c is select name from userinfo;

 Pname userinfo.name%type;

2 打开光标

 Open c;

3 取出记录

loop

Fetch c into pname;

Exit when c%notfound;

End loop;

4 关闭光标

Close c;

 

 

光标 ,有两个属性

%found 当找到记录时候 为true

%notfound  当找不到记录时候为TRUE

 

光标还有两个属性

%isopen 若是光标已经打开,则返回true

%rowcount  标识影响了的行数  例如 若有100行数据,已经选取了20行数据, rowcount 的值为20.

 

光标有一个限制,,就是打开的光标,在默认的情况下不能超过300,当然 这个数值是可以修改的

 

带参数的光标

只有定义  ,打开光标时候不一样   其他不变

Cursor c (dno number(4,0))  is select * from userinfo where 字段名=dno;

 

Open c(10);

 

定义光标时候的参数  为形参 ,变量名 变量类型

打开光标时候的参数为实参   .

 

 

例外

Exception 语句的作用就是捕获例外,并且处理例外.不让例外抛出给系统,

例外  分为系统例外  和自定义例外

例子:

Exception

  When 例外类型名字 then xxxxxxxxxx

  When others then xxxxxxxxxxx

 

注意 : 捕获例外 ,必须捕获全部的例外,使用关键词others

自定义例外

1. 定义一个例外

例外名字 exception

2 抛出例外

 Raise 例外名字

3. 捕获处理 例外

Exception

When 例外名字 then    xxxx;

 

注意: 当抛出一个例外的时候,程序会跳转到exception语句执行   ,,若是抛出例外 和 exception 语句之间 还有资源,例如光标没有关闭,请不用担心,因为系统会自动关闭掉.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值