PL/SQL学习笔记

在SQL Plus中或者在SQL Developer中打印:
declare
–说明部分,定义变量和常量(没有可以不写)
begin
–程序体(||为链接符)
dbms_output.put_line(‘Hello’ || ‘Wrod!’);
exception
–例外处理语句(没有可以不写)
end;
/
dbms_output为函数库,/符号为输出上列代码
如果没有结果则需要打开输出开关:set serveroutput on

基本类型变量声明: name varchar2(20);
变量赋值: name:=’名字’;
引用型变量声明: name emp.ename%type;
上面语句含义为:变量name 引用emp表里面的ename的数据类型;

into关键字:将查询到字段1,字段2的值,赋值给变量1,变量2;
select 字段1,字段2 into 变量1,变量2 from 表单名 where 条件;

记录型变量: emp_rec emp%rowtype;
记录型变量引用emp表中一行的数据类型,一行有多个字段,有多个数据类型,所以可以理解为记录型变量为数组;

if判断语句:
if 条件 then 结果;
elsif 条件 then 结果;
else 结果;
end if;

接收一个键盘输入(字符串):accept name prompt ‘请输入一个数字’;
accept键盘接收的关键字, name含义为接收的地址位置保存在name中,name不是变量,不能给其他变量赋值;
例如: pnum int:= &name;

while语句:
while 条件 loop
代码块
end loop;

loop循环:
loop
exit when 条件
代码块
end loop;

for循环语句:
for i in 1..10 loop
代码块
end loop;

光标:代表一个结果集,也可以说是集合
光标的属性:%found %notfound 他们的值为boolean类型
%isopen 判断光标是否打开,%rowcount 取过的行数.
光标的限制:默认情况下,oracle数据库只允许在同一个会话中,打开300个光标,在数据库参数设置里面可以查到;
定义一个光标关键字:cursor
例如:cursor name[(属性名 属性类型)] is select * from 表名;
打开光标:open name[(参数值)]; (和java操作指针cursor一样用完即关闭)
关闭光标:close name;
取一条数据:fetch name into 声明的变量;
使用光标时要配合loop 循环使用,

回滚上一次操作(写在begin里面):rollback;
提交(写在代码体的最后):commit;
对于oracle,默认的事务隔离级别是read committed;在commit后才会真正将操作提交到数据库

自定义异常exception:
declare
no_data exception;
begin
if c1%notfound then raise no_data;
end if;
exception
when no_data then 处理逻辑
when others then 其他异常处理逻辑

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值