oracle学习札记13-PLSQL基础
oracle学习笔记13--PLSQL基础pl/sql是什么?pl/sql(procedural language/sql)是oracle在标准sql语言上的扩
oracle学习笔记13--PLSQL基础
pl/sql是什么?
pl/sql(procedural language/sql)是oracle在标准sql语言上的扩展。pl/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误,这样使得它的功能变得更加强大。
pl/sql可以
提高应用程序的运行性能
体现模块化的设计思想
减少网络传输量
提高安全性
但是
pl/sql的移植性不好……
开发工具:
sqlplus、pl/sql developer
开始过程的介绍:
为了演示方便,我先建立一个简单的表:
create table testPro(name varchar2(30),pass varchar2(30));
然后我可以写一个过程专门用来往这个表中添加一条记录。
SQL> create procedure insert1_pro is 2 begin 3 insert into testPro values('morf1','morflame1'); 4 end; 5 /
编写完后打一个/,系统就会开始创建过程。
执行这个过程,只需输入:exec insert1_pro;即可。
如果创建过程出现错误,可以输入show error;让系统显示错在何处。
pl/sql最基础的部分是块,我们可以通过块来创建过程、函数、触发器、包。
编写规范:
每个人在编程时最好都有自己的风格。以下是建议:
单行注释:--(连续的两个减号)
select * from emp where empno=7788;--取得员工信息
多行注释:
/*注释内容*/
标识符号的命名规范
1)定义变量时,用v_做为前缀,v_sal;
2)定义常量时,用c_作为前缀,c_rate;
3)定义游标时,用_cursor作为后缀:emp_cursor;
4)定义例外时,用e_作为前缀,e_error;
块(block)是pl/sql的基本程序单元,编写pl/sql程序实际上就是编写pl/sql块,要完成相对简单的应用功能,可能只需要编写一个块,但是要想实现复杂功能,可能需要在一个pl/sql块 中嵌套其它的pl/sql块。
块的结构:
由三部分完成,定义部分,执行部分,例外处理部分。如下所示:
declare
/*定义部分,定义常量,变量,游标,例外,复杂数据类型*/
begin
/*要执行的pl/sql语句和sql语句*/
exception
/*例外处理部分,处理运行的各种错误*/
end;
定义部分是从declare开始的,该部分是可选的
执行部分是从begin开始的,该部分是必须的
例外处理部分是从exception开始的,该部分是可选的