- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章PL/SQL程序设计
PL/SQL程序设计 讲师:张浒滨;主要内容;认识PL/SQL
PL/SQL(procedure language /sql)是oracle在标准的sql语言上的扩展 ,PL/SQL不仅允许嵌入SQL语言,还可以定义变量和常量,允许使用条件控制语句和循环语句,允许使用例外处理语句处理各种异常,这样使得它的功能强大; 3.1 PL/SQL的优点;3.3 PL/SQL块结构;其中 执行部分是必须的。而END则是PL/SQL 块的结束标记。
需要注意的是DECLARE,BEGIN,EXCEPTION后面没有分号(;),而END后则必须要带有分号。
PL/SQL标识符的命名规则: 标识符的最大长度是30个字符,包括字母、数字、$、_、# ;不可包含保留字;要以字来打头;不能和同一块中的表中的字段名一样,标识符不区分大小写,TYPE与type是完全一样的;【案例】:编写一个程序块,从emp表中显示名为“SMITH”的雇员的薪水和职位。
declare
v_emp emp%rowtype;emp表中所有字段的类型
begin
select * into v_emp from emp where ename=SMITH;
dbms_output.put_line(v_emp.job||--||v_emp.sal);
//(‘员工的工作是:’||v_emp.job)
end;
执行用‘/’;【例3-1】只包含执行部分的PL/SQL块
SQL set serveroutput on 每次打开服务器都要打开
SQL begin
2 dbms_output.put_line(Welcome!);
3 end;
4 /
Welcome!
PL/SQL 过程已成功完成。
注意:当使用dbms_output.包输出数据或消息时,必须要将SQL*Plus的环境变量serveroutput 设置为on.;【例3-2】包含定义部分和执行部分的PL/SQL块
程序案例:请编写一段pl/sql程序,用于查询指定用户的薪水,要求员工编号从键盘输入,显示员工名称和对应薪水
declare
v_ename varchar2(10);
v_sal number(7,2);
begin
select ename,sal into v_ename,v_sal from emp where empno = aa;
dbms_output.put_line(雇员名字为:||v_ename||;其薪水为:||v_sal||。);
exception
when no_data_found
then
dbms_output.put_line(您输入的数据有误,请从新输入:);
end;
/;输入 no 的值: 7788
PL/SQL 过程已成功完成。
注意:该例中当执行该PL/SQL时,会根据输
入的学号显示雇员名字和薪水。为了临时存放
雇员编号,就必须先定义变量。 aa为PL/SQL中的替代变量。;3.4 PL/SQL基本语法;3.4.1 常量与变量;【例3-4】常量定义
declare
a constant number(10):=123;
begin
dbms_output.put_line(a);
end;
/
PL/SQL 过程已成功完成,执行结果为:;3.4.2 基本数据类型变量;3.4.3 基本数据类型变量的定义方法;3.4.4 复合数据类型变量;【案例】该程序定义了两个变量,其类型和 emp表中的 字段类型是一致的。
declare
v_ename emp.ename%type;
v_sal emp.sal%type;
begin
select ename,sal into v_ename,v_sal from emp where empno=aaa;
dbms_output.put_line(员工名称为: ||v_ename|| 他的薪水是:||v_sal);
exception
when
no_data_found then
dbms_output.put_line(您输入的员工编号找不到,请确定后从新输入,谢谢);
end;;自定义记录类型变量
很多结构化程序设计语言都提供了记录类型的数据类型,在PL/SQL中,也支持将多个基本数据类型捆绑在一起的记录数据类型。
;记录类型定义的一般格式:
定义一个记录类型的数据(类似C语言中的结构体,也类似JAVA中的类,用于存放多个变量):
declare
type emp_r
您可能关注的文档
最近下载
- 捕歼战斗中地排教案设计.doc VIP
- 深圳希莱恒电解质说明书.doc VIP
- 开展体育领域突出问题专项整治工作情况汇报.docx VIP
- 学校安全生产风险分级管控和隐患排查治理双重预防体系建设实施指南.pdf VIP
- 双眼视异常分析临床处理2020.pptx VIP
- 排捕歼战斗连贯演练.docx VIP
- Illustrator教程Illustrator绘图技巧Illustrator经典实例Illustrator网格工具绘制逼真花瓣.pdf VIP
- 民企混改公司合作协议书10篇.docx VIP
- 如何免费申请QQ号申请qq号方法.docx VIP
- Illustrator进阶技巧.pdf VIP
文档评论(0)