- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OralePLSQL编程
PL/SQL编程
pl/sql(procedural language/sql)是Oracle在标准的sql语言上的扩展。pl/sql不仅允许嵌入式sql语言,还可以定义变量和常量,允许使用条件语句和循环语句,允许使用例外处理各种错误。这样使得他的功能变的更强大。缺点是移植性不好。
编写一个存储过程,向表中添加数据。
create table mytest (name varchar2(30),passwd varchar2(30));
create or replace procedure xxc_pro1 is
begin
insert into mytest values (小红,m123);
end;
调用过程 exec 过程名(参数1,参数2…)或call 过程名参数1,参数2…)
exec xxc_pro1; 或者是
call xxc_pro1;
pl/sql可以做什么?
块:包括过程、函数、触发器、包。
编写规范:
注释 --:单行注释
g:select * from emp where empno=7788;--取得员工信息
/*……*/多行注释
表示符号(变量)的命名规范:
当定义变量时,建议用v_作为前缀:v_ename
当定义常量时,建议用c_作为前缀:c_rate
当定义游标时,建议用_cursor作为后缀:emp_cursor
当定义例外时,建议用e_作为前缀:e_error
块(block)是pl/sql的今本程序单元,编写pl/sql程序实际上就是在编写pl/sql块;pl/sql块由三部分组成:定义部分,执行部分,例外处理部分。
eclare --可选部分
/*定义部分:定义常量,变量,游标,例外,复杂数据类型*/
egin --必选部分
/*执行部分:要执行的pl/sql语句和sql语句*/
xception --可选部分
/*例外处理部分:处理运行的各种错误*/
实例1:只包含执行部分的pl/sql块
SQL set serveroutput on --SQL begin
2 dbms_output.put_line(hello);
3 end;
4 /
说明:dbms_output是oracle提供的包,该包包含一些过程,put_line就是其中之一。
实例2:包含定义部分和执行部分
SQL declare
2 v_ename varchar2(5);
3 begin
4 select ename into v_ename from emp where empno = no;
5 dbms_output.put_line(雇员名||v_ename);
6 end;
7 /
说明::从控制台输入变量,会弹出一个对话框。
实例3.同时输出雇员名和工资
SQL declare
2 v_ename varchar2(20);
3 v_sal number(10,2);
4 begin
5 select ename,sal into v_ename,v_sal from emp where empno=no;
6 dbms_output.put_line(雇员名:||v_ename|| 工资:||v_sal);
7 end;
8 /
包含定义,执行,和例外处理的pl/sql块。
实例4.当输入的员工号不存在时
SQL declare
2 v_ename varchar2(20);
3 v_sal number(10,2);
4 begin
5 select ename,sal into v_ename,v_sal from emp where empno =no;
6 dbms_output.put_line(雇员名:||v_ename|| 工资:||v_sal);
7 exception --异常处理部分
8 when no_data_found then
9 dbms_output.put_line(请输入正确的员工号!);
10 end;
11 /
以上为块的基础,下面来介绍块的各个组成:过程,函数,触发器,包。
过程
过程用于执行特定的操作,当执行过程的时候,可以指定输入参数(in),也可以指定输出参数(out)。通过在过程中使用输入参数,可以讲数据输入到执行部分,通过使用输出参数,可以将执行部分的数据输出到应用环境,在pl/sql中可以使用create procedure命令来创建过程。
编写一个存储过程,可以输入雇员名和新工资来改变员工工资。
--案例
create or replace procedure xx
您可能关注的文档
最近下载
- 正常新生儿护理演示ppt课件.ppt
- 硬笔楷书教学课件.pptx VIP
- 天津市南开翔宇学校初一新生分班(摸底)数学模拟考试(含答案).pdf VIP
- 第1课 寻找信息科技(教学设计)-2024-2025学年人教版(2024)信息三年级全一册.docx VIP
- 南京电子地图超大版-超清晰-3600-x-5100分辨率.pdf VIP
- 冷轧带钢再结晶退火的感应加热.pdf VIP
- (高清版)B-T 18380.12-2022 电缆和光缆在火焰条件下的燃烧试验 第12部分:单根绝缘电线电缆火焰垂直蔓延试验 1kW预混合型火焰试验方法.pdf VIP
- 大学生竞选班长最新PPT课件.ppt VIP
- 云教版劳动与技术四年级上册2切菜.pptx VIP
- 育婴员(职工组)基础知识模块(模块一).docx VIP
文档评论(0)