欢迎来到天天文库
浏览记录
ID:39974439
大小:1.86 MB
页数:41页
时间:2019-07-16
《oracleplsql简介》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、PL/SQL简介OracleSQL和PL/SQL编程目标解释使用PL/SQL块与使用一些SQL语句相比的好处识别PL/SQL块的各个部分并说明他们的内容识别PL/SQL块的必需部分和可选部分说明如何执行PL/SQL块解释变量的用途解释常量与变量之间的区别识别有效的变量名称列出PL/SQL变量的有效数据类型为PL/SQL变量指定一种动态数据类型初始化PL/SQL变量在PL/SQL块中使用DML语句内容PL/SQL的优点PL/SQL块基本结构PL/SQL块声明部分PL/SQL块可执行部分PL/SQL注释PL/SQL的优点在通
2、过网络执行一个SQL语句来访问Oracle数据库时,会将各个语句都发送到服务器,进行处理,然后执行它们,向用户返回结果(或一个消息)。每一个SQL语句都最少需要在网络中两次经过“旅行”,一次是从用户到服务器,另一次是从服务器到用户。这会产生大量网络数据流量。在过程语言SQL(ProcedureLanguageSQL,PL/SQL)程序嵌入SQL语句是取代执行多个SQL语句的另一种方法。PL/SQL扩展了SQL的功能。具有如下优点:允许用户包括异常处理和控制结构,从而允许更高的灵活性和效率。对经常执行的任务,可以存储PL/
3、SQL块并由各种应用程序(或者用户)使用。内容PL/SQL的优点PL/SQL块基本结构PL/SQL块声明部分PL/SQL块可执行部分PL/SQL注释基本结构一个PL/SQL代码单元就称为一个“块”。各个PL/SQL块都可以划分为三部分:声明,可执行,异常处理。在这三部分中,“可执行部分是每一个PL/SQL程序中唯一的必需部分”。声明和异常处理部分是可选的[DECLARE]声明部分,声明语句块中使用的变量或常量BEGIN可执行部分[EXCEPTION]异常处理部分END;语句块结束基本结构声明部分:如果在块中使用了任何变量
4、或常量,那么必需首先在这个部分指出它们。可执行部分:这一部分可能包括SQL语句和(或)PL/SQL语句。SQL语句和PL/SQL语句之间的主要区别是SQL语句用来访问或处理数据库表中的数据,而PL/SQL语句主要处理PL/SQL块中包含的数据。异常处理部分:用来在执行块的过程中出现了错误时显示消息或者指出应该执行的其他操作。这个异常处理部分不是用来解决在编译块时发现的语法错误,它处理在执行语句的过程中发生的错误。END语句结束:END关键字后面有一个分号。分号用来结束PL/SQL块中的各个语句。基本结构示例:编写PL/S
5、QL块,检索BOOKS表中的一本书名和零售价,然后将价格增加20%,显示这本书新的零售价和书名。DECLAREc_rateincreaseCONSTANTNUMBER(3,2):=1.2;v_titleVARCHAR2(30);v_retailbooks.retail%TYPE;v_newretailNUMBER(5,2);BEGINSELECTtitle,retail,retail*c_rateincreaseINTOv_title,v_retail,v_newretailFROMbooksWHEREisbn='105
6、9831198';DBMS_OUTPUT.PUT_LINE('Thenewpricefor'
7、
8、v_title
9、
10、'is$'
11、
12、v_newretail);END;基本结构分析示例:PL/SQL块的声明部分包括一个常量(c_)和三个变量(v_)。可执行部分使用一个SELECT语句来检索两个不同列(Title和Retail)的内容,并将这些值存储到(INTO)在声明部分指出的变量中。注意,在SELECT子句中对Retail列执行力算术运算,以便确定这本书的新价格。零售价将乘以存储在c_rateincrease变量(它的值实际
13、上是1.20或者120%)中的数量。在将储在声明的变量中之后,就可以使用DBMS_OUTPUT程序包(DBMS_OUTPUT.PUT_LINE)的PUT_LINE函数显示它们。与以前在SQL*Plus中执行的SELECT命令不同,PL/SQL块在默认情况下不会显示SELECT语句的结果。DBMS_OUTPUT是一个包含一组函数的程序包,用户可以应用这些函数来显示为变量指定的值。使用DBMS_OUTPUT.PUT_LINE显示信息之前,需要在SQL>提示符下键入SETSERVEROUTPUTON,SERVEROUTPUT环
14、境变量指出分配一个缓冲区来存储PL/SQL块的输出。ON可以创建缓冲区。基本结构结果中,在声明部分,各个变量声明都是以分号结尾。在可执行部分,各个完整的语句也是以分号结尾的。虽然SELECT语句出现在多行上,但是Oracle将SELECT关键字和下一个分号之间的所有内容都视为一个语句。END关键字指出这个块的结束,后
此文档下载收益归作者所有