欢迎来到天天文库
浏览记录
ID:14695130
大小:43.50 KB
页数:16页
时间:2018-07-30
《19、pl sql语法基础》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、19、PLSQL语法基础PL/SQL也是一种程序语言,叫做过程化SQL语言(ProceduralLanguage/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL就是把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算的程序语言。PL/SQL集成了现代软件工程的特点,将SQL的数据操作功能与过程化语言数据处理功能结合起来,允许使用循环、分支等过程化方法来处理数据。PL/S
2、QL是ORACLE数据库应用的重要开发工具。结构化查询语言是用来访问关系型数据库的一种能用语言,属于第四代语言(4GL),其执行特点是非过程化,即不用指明执行的具体方法和途径,而是简单地使用相应语句来直接取得结果。这种不关注任何细节的语言,对于开发者极为方便。然而,有些复杂的业务流程要求相应的程序来描述,这种情况下,第四代语言就有些无能为力了。PL/SQL的出现正是为了解决这一问题。PL/SQL是一种过程化的语言,它属于第三代语言(3GL),它与C++、JAVA一样关注于处理细节,可以用来实现比较
3、复杂的业务逻辑。PL/SQL程序语言的组成PL/SQL程序由块结构构成,在PL/SQL程序中含有变量、各种不同的程序控制结构、异常处理模块、子程序(过程、函数、包)、触发器等。PL/SQL程序的基本结构PL/SQL块由四个基本部分组成:声明、执行体开始、异常处理、执行体结束。 PL/SQL注释:/*和*/之间的多行注释; 以--开始的单行注释。PL/SQL块简介构成PL/SQL程序的基本单元是语句块,所有的PL/SQL程序都是由语句块构成的,每个语句块完成特定的功能,语句块可以具有名字(命名块)
4、,也可以不具有名字(匿名块),语句块之间还可以相互嵌套。块结构:一个完整的PL/SQL语句块由以下3个部分组成:DECLARE......BEGIN......EXCEPTION......END;(1)定义、声明部分DECLARE开始,到BEGIN结束。在此主要定义程序所要使用的常量、变量、数据类型、游标、异常处理名称等。PL/SQL程序中所有需要定义的内容必须在该部分集中定义。不能在执行的时候定义。定义、声明部分是可选的。在进行变量定义时一般是类型后置。(2)执行部分关键字BEGIN开始,EN
5、D结束(如果PL/SQL块中有异常处理部分,则以EXCEPTION结束)它是PL/SQL块的功能实现部分,该部分通过一系列语句和流程控制,实现数据查询、数据操作、事务控制、游标处理等数据库操作的功能。执行部分是必须的(3)异常处理部分以关键字EXCEPTION开始,END结束。该部分用于处理该PL/SQL块执行过程中产生的错误。异常处理部分是可选的。所有的PL/SQL块都以END;结束。可以一个块的执行部分或异常处理部分嵌套其他的PL/SQL块。匿名块:PL/SQL匿名块,是指动态生成,只能执行一
6、次的块,它没有名字,不能由其它应用程序调用。如:SQL>SETSERVEROUTPUTONSQL>BEGIN2DBMS_OUTPUT.PUT_LINE('Thisamininumanonymousblock');3END;4/编写一个PL/SQL块,输出empno为7834的记录姓名1.SQL>SETSERVEROUTPUTONSQL>DECLARE2v_nameVARCHAR2(10);--数据类型后置3BEGIN4SELECTenameINTOv_nameFROMempWHEREempno='
7、7839';5DBMS_OUTPUT.PUT_LINE('7834''snameis:'
8、
9、v_name);6END7;8/7834'snameis:KINGPL/SQL过程已成功完成。2.SQL>DECLARE2v_nameVARCHAR2(10);3empnoNUMBER(4);4BEGIN5SELECTenameINTOv_nameFROMempWHEREempno=&empno;6DBMS_OUTPUT.PUT_LINE('nameis:'
10、
11、v_name);7END;8/输入empno的
12、值:7900原值5:SELECTenameINTOv_nameFROMempWHEREempno=&empno;新值5:SELECTenameINTOv_nameFROMempWHEREempno=7900;nameis:JAMESPL/SQL过程已成功完成。3.本例中,如果记录不存在就会出错,为此我们可以加入异常处理SQL>DECLARE2v_nameVARCHAR2(10);3empnoNUMBER(4);4BEGIN5SELECTenameINTOv_nameFROMempW
此文档下载收益归作者所有