oracle pl/sql编程

1:什么是PL/SQL
编程式的SQL语句

2:PL/SQL的优点:

A:PL/SQL 经过编译执行。放在Oracle的程序缓冲区中。

B:在PL/SQL中可以直接使用DML和TCL语句。可以间接以特殊的方式执行DDL和DCL语句。


3:PL/SQL块的组成部分:

声明块

可执行块

异常块
dos下运行:
SQL> set serveroutput on;--开启打印流
SQL> begin
2 dbms_output.put_line('fdfdfd');
3 end;
4 / --结束符号
在developer下面 不需要开启
begin
dbms_output.put_line('fdfdfd');
end;


4:变量的声明,赋值与打印。
(在某个基本块声明的内容只能在该基本块中使用,其他基本块不能使用)

5:逻辑运算符。

=
>,>=
<,<=
<>,!=

and or
6:分支
if 三种:
if 条件 then 语句 end if;

if 条件 then 语句 else 语句 end if;

if 条件1 then 语句1
elsif 条件2 then 语句2
elsif 条件3 then 语句3
...
else 语句其他
end if;

case 两种:
case 1:
case 选择器 when 值1 then 语句1;
when 值2 then 语句2;
....
[else 语句]
end case;

case2 没有选择器:
case when 条件1 then 语句1;
when 条件2 then 语句2;
....
[else 语句]
end case;
注意:else语句虽然可以省略,但是当when子句的常量值没有与选择器匹配是会出现异常

7:循环
1、基本循环
loop
语句;
exit when condition
end loop;

2、while
while condition
loop 语句;
end loop;

3、for
for 计数器 in [reverse] min..max
loop 语句;
end loop;
注意:reverse 计数器I只能在for循环里面使用,不能在循环外部使用

8、动态SQL
一般的PL/SQL程序设计中,在DML和DCL语句中可以直接使用SQL,但是DDL语句及系统控制语句却不能在PL/SQL中直接使用,要想实现在PL/SQL中使用DDL语句及系统控制语句,可以通过使用动态SQL来实现。

  首先我们应该了解什么是动态SQL,在Oracle数据库开发PL/SQL块中我们使用的SQL分为:静态SQL语句和动态SQL语句。
所谓静态SQL:指在PL/SQL块中使用的SQL语句在编译时是明确的,执行的是确定对象。
而动态SQL:是指在PL/SQL块编译时SQL语句是不确定的,如根据用户输入的参数的不同而执行不同的操作。编译程序对动态语句部分不进行处理,只是在程序运行时动态地创建语句、对语句进行语法分析并执行该语句。
语法:
execute immediate 语句 [INTO 行或结果集变量]
[USING 绑定变量值...];

9、oracle异常处理
oralce系统异常可以分为3类:
1、预定义异常:
others 必须放在异常处理的最后一条语句
2、非预定义异常
声明
异常变量名 exception;
pragma exception_init(异常变量名,-异常代号);
捕获异常。
when 异常变量名 then 语句
3、自定义异常
自定义异常。

声明异常
e_XXX exception
显示触发异常
raise 异常名称
捕获异常。
when 异常名称 then
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值