资源描述:
《OraclePLSQL编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、PL/SQL编程PL/SQL编程pl/sql(procedurallanguage/sql)是Oracle在标准的sql语言上的扩展。pl/sql不仅允许嵌入式sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误。这样使得他的功能变的更强大。缺点是移植性不好。编写一个存储过程,向表中添加数据。1.createtablemytest(namevarchar2(30),passwdvarchar2(30));2.createorreplaceprocedurexxc_pro1isbegininsertintomyte
2、stvalues('小红','m123');end;3.调用过程exec过程名(参数1,参数2…)或call过程名参数1,参数2…)①execxxc_pro1;或者是②callxxc_pro1;pl/sql可以做什么?块:包括过程、函数、触发器、包。编写规范:1.注释--:单行注释eg:select*fromempwhereempno=7788;--取得员工信息/*……*/多行注释2.表示符号(变量)的命名规范:①当定义变量时,建议用v_作为前缀:v_ename②当定义常量时,建议用c_作为前缀:c_rate③当定义游标时,建议用_cursor作
3、为后缀:emp_cursor④当定义例外时,建议用e_作为前缀:e_error块(block)是pl/sql的今本程序单元,编写pl/sql程序实际上就是在编写pl/sql块;pl/sql块由三部分组成:定义部分,执行部分,例外处理部分。declare--可选部分/*定义部分:定义常量,变量,游标,例外,复杂数据类型*/begin--必选部分/*执行部分:要执行的pl/sql语句和sql语句*/exception--可选部分/*例外处理部分:处理运行的各种错误*/实例1:只包含执行部分的pl/sql块SQL>setserveroutputon--
4、打开输出SQL>begin2dbms_output.put_line('hello');3end;4/说明:dbms_output是oracle提供的包,该包包含一些过程,put_line就是其中之一。实例2:包含定义部分和执行部分SQL>declare2v_enamevarchar2(5);3begin4selectenameintov_enamefromempwhereempno=&no;5dbms_output.put_line('雇员名'
5、
6、v_ename);-16-PL/SQL编程6end;7/说明:&:从控制台输入变量,会弹出一个对话
7、框。实例3.同时输出雇员名和工资SQL>declare2v_enamevarchar2(20);3v_salnumber(10,2);4begin5selectename,salintov_ename,v_salfromempwhereempno=&no;6dbms_output.put_line('雇员名:'
8、
9、v_ename
10、
11、'工资:'
12、
13、v_sal);7end;8/包含定义,执行,和例外处理的pl/sql块。实例4.当输入的员工号不存在时SQL>declare2v_enamevarchar2(20);3v_salnumber(10,2);
14、4begin5selectename,salintov_ename,v_salfromempwhereempno=&no;6dbms_output.put_line('雇员名:'
15、
16、v_ename
17、
18、'工资:'
19、
20、v_sal);7exception--异常处理部分8whenno_data_foundthen9dbms_output.put_line('请输入正确的员工号!');10end;11/以上为块的基础,下面来介绍块的各个组成:过程,函数,触发器,包。过程过程用于执行特定的操作,当执行过程的时候,可以指定输入参数(in),也可以指定输出参数
21、(out)。通过在过程中使用输入参数,可以讲数据输入到执行部分,通过使用输出参数,可以将执行部分的数据输出到应用环境,在pl/sql中可以使用createprocedure命令来创建过程。编写一个存储过程,可以输入雇员名和新工资来改变员工工资。--案例createorreplaceprocedurexxc_pro3(newnameinvarchar2,newsalinnumber)isbeginupdateempsetsal=newsalwhereename=newname;end;调用execxxc_pro3(‘SCOTT’,2900);--i
22、n表示是输入参数,可以不写,默认是in,但out必须写。在java程序中调用存储过程来修改工资;//演示java程序调用oracle中的