Oracle(持续更新中)
《Oracle11g之安装与卸载》
《Oracle之常用命令》
《Oracle之用户管理》
《Oracle之pl/sql》
《Oracle之块》
《Oracle之存储过程》
《Oracle之函数》
《Oracle之包》
块(block)是pl/sql的基本程序单元,编写pl/sql程序实际上就是编写pl/sql块。
要完成相对简单的应用功能,可能只需要编写一个pl/sql块;但是如果要想实现复杂的功能,可能需要在一个pl/sql块中嵌套其它的pl/sql块。
pl/sql块由三个部分构成:定义部分、执行部分、例外处理部分。
一、定义部分
可定义常量、变量、游标、例外、复杂数据类型。
定义部分是从declear开始的,该部分是可选的。
二、执行部分
执行部分是从begin开始的,该部分是必须的,包含要执行的pl/sql语句和sql语句。
三、例外处理部分
例外处理部分是从exception开始的,该部分是可选的,负责处理运行的各种错误。
四、举例
补充:
(1)– (表示注释开头,类似java的//)
(2)& (表示要接收从控制台输入的变量)
(3)||(字符串拼接)
(4)set serveroutput on;(打开输出显示)
(5)dbms_output.put_line(’ ‘);(数据库中已经定义好的输出函数,将数据在控制台显示)
(6)执行部分中,对于查询sql,需要有变量去接收查询数据,即代码所示。其余的插入、删、改sql,可以直接写即可。
(7)例外部分即exception或异常,必须使用when 异常类型 then,去捕获异常。
代码如下:
declare
--定义部分
v_ename varchar2(5);--长度为5
begin
--执行部分
select info into v_ename from data where info = '&aa';--在控制台输入,也可写死
dbms_output.put_line('信息是'||v_ename);
exception
--例外部分,捕获数据找不到异常
when no_data_found then
dbms_output.put_line('输入有误');
end;
/ --需要以/作为结束,复制时不要连同/一起复制,额外加上