

什么是pl/sql编程,它的优缺点,作用,学习使用要掌握的内容及用到的工具,编写规范,块的结构,过程的调用
一、什么是pl/sql编程
pl/sql,全称procedural language/sql,扩展化语言,应该理解为oracle的一个编程技术或语言,允许嵌入sql语言,还可定义变量和常量,判断等条件语句。pl.sql的基础单位是块,主要编辑过程,函数,触发器,包,其它很少用
二、为什么要学pl/sql编程,优点与缺点
1.优点:
1)pl/sql可以编写过程,函数,触发器,包等,它存放在数据库中,程序中调用时只需传输要调用对象在那类及其名称,和参数
2)当把所以的对数据库的操作都写在程序里将是非常麻烦的
3)把过程,函数,触发器等写到数据库中,作为数据对象,可减少网络的传输,提高运行性能,模块化的设计思想,因为只有过程名,没有表名,字段名,还可安全性更高
4)传统的操作数据库的方法是由程序提交sql语句到数据库,数据库再编译执行,每个查询一次都要先编译,当客户量很大,省每次的0.01秒就会很大
5)不需要传sql语句,少了网络开销,比如分页的过程,订单的过程,转账的过程的sql语句都可以放在数据库中
6)特别是程序与数据库不在同一电脑上时,远程传输sql语句效率与传输过程名效率大不一样
2.pl/sql编程的缺点或不好的地方
移值性不好,比如换数据库,存储过程几乎要全部重写,这种可能性较小
三、学会pl/sql编程,需要掌握的内容
首先要会sql语句,还要会pl/sql语句及语法,可使用变量和逻辑控制语句,可以编写过程,函数,触发器,包等用以完成复杂查询
四、pl/sql编程要使用的工具
使用sqlplus或pl/sql developer两种开发工具,后者最好,专门的
五、pl/sql的编写规范,单行或多行注释,变量常量例外前缀,游标后缀
单选注释 --
多行注释/*。。。*/
变量用v_作为前缀,v_sal
常量用c_作前缀,c_rate
游标用_cursor作后缀,emp_cursor
定义例外用e_作前缀,e_error
六、什么是块,块的基本结构
块,block,块由定义部分,执行部分,例外处理部分三部分构成。是基本程序单元,简单只写一个块,复杂的块里还有块。
结构:
declear 可选部分
定义部分,用以定义常变量
begin
--执行部分必须要有的
exception --例外部分,可选
end;
七、过程的创建与调用方法
1.创建过程方法:
例:这里先创建一个名为mytest的表,再创建名为sp_pro1的过程,过程的作用是向mytest表添加一条数据
1)先用scott登录sqlplus,并创建名为mytest的表
create table mytest(name varchar2(30),passwd varchar2(30)); //创建一张简单的表
2)创建名为sp_pro1过程,
create or replace procedure sp_pro1 is --or replace表如果有名为sp_pro1的过程就将它替换掉
begin --表过程开始
insert into mytest values('1111','2222'); --begin和end之间写过程的执行部分
end; --表过程结束
/ --最后还要加单斜杠表开始建存储过程
3)show error; //当出现错误时用该语句查看错误信息
4).调用该过程
方法一:.exec 过程名(参数值1,参数值2.)
方法一:call 过程名(参数值1,参数值2.),经测试用call调用出错,提示:不是有效的函数或过程名
例:exec sp_pro1;
select * from mytest; --查看过程执行结果
exec sp_pro1; //再执行一次该过程
2.使用pl/sql Developer,在命令窗口,编辑器再创建一个删除数据的过程
create or replace procedure sp_pro2 is
begin
delete from mytest where name='1111';
end;
/
复制以到对话框
exec sp_pro2; --执行这个过程