PLSQL程序设计简介.ppt
《PLSQL程序设计简介.ppt》由会员分享,可在线阅读,更多相关《PLSQL程序设计简介.ppt(36页珍藏版)》请在三一办公上搜索。
1、什么是PL/SQL,PL/SQL是 Procedure Language&Structured Query Language 的缩写PL/SQL是对SQL语言存储过程语言的扩展,PL/SQL提高了性能,Database,Database,SQLIF.THENSQLELSESQLEND IF;SQL,应用程序,应用程序,PL/SQL的优点,有利于客户/服务器环境应用的运行PL/SQL是对SQL语言存储过程语言的扩展PL/SQL是ORACLE系统的核心语言,现在ORACLE的许多部件都是由PL/SQL写成,PL/SQL块结构和组成元素,PL/SQL程序由三个块组成 即声明部分执行部分异常处理部分,
2、PL/SQL块结构和组成元素,PL/SQL块的结构如下:DECLARE/*声明部分:在此声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数*/BEGIN/*执行部分:过程及SQL 语句,即程序的主要部分*/EXCEPTION/*执行异常部分:错误处理*/END;其中 执行部分 即 begin 和 end 块是必须的。,PL/SQL中的标识符,PL/SQL程序设计中的标识符定义与SQL的标识符定义的要求相同标识符名不能超过30字符 第一个字符必须为字母 不分大小写 不能是SQL保留字,PL/SQL中的标识符,一般不要把变量名声明与表中字段名完全一样,如果这样可能得到不正确的结果,例
3、:DECLARE ename varchar2(20):=KING;BEGINDELETE FROM emp WHERE ename=ename;END;,PL/SQL中的标识符,下面是建议使用的变量命名方法,PL/SQL中的变量类型,PL/SQL中声明变量,在语句块的声明部分对变量声明,声明一个变量的语法是:variable_name constant type not null:=value其中:variable_name 为变量名 type 为类型 value 为变量的初值,PL/SQL中声明变量,例:DECLAREV_Description VARCHAR2(50);V_Number
4、NUMBER:=45;V_Counter BINARY_INTEGER:=0;V_PI CONSTANT NUMBER NOT NULL:=3.14;注意:如果变量在声明时使用了NOT NULL选项则必须为变量指定初值如果变量在声明时使用了CONSTANT选项则必须为变量指定初值,并且该初值不能被改变。,PL/SQL中的复合类型,记录类型:记录类型是把逻辑相关的数据作为一个单元存储起来,定义记录类型语法如下:TYPE record_type IS RECORD(Field1 type1 NOT NULL:=exp1,Field2 type2 NOT NULL:=exp2,.Fieldn typ
5、en NOT NULL:=expn);,PL/SQL中的复合类型,%TYPE:定义一个变量,其数据类型与已经定义的某个数据变量的类型相同,或者与数据库表的某个列的数据类型相同,这时可以使用%TYPE,例:DECLARE-用%TYPE 类型定义变量v_ename emp.ename%TYPE;-用%TYPE 类型定义与表相配的字段TYPE t_Record IS RECORD(t_no emp.empno%TYPE,t_name emp.ename%TYPE,t_sal emp.sal%TYPE);-声明接收数据的变量 v_emp t_Record;,PL/SQL中的复合类型,%ROWTYPE:
6、返回一个记录类型,其数据类型和数据库表的数据结构相一致。,例:DECLARE v_empno emp.empno%TYPE:=,PL/SQL表类型,PL/SQL 表,或者称为索引表(index-table),是可以在PL/SQL 程序中引用、能够模仿数组的非永久表。用户可以定义一个表类型,然后声明这种类型的变量。接下来,用户就可以将记录添加到用户的PL/SQL 表中,并且采用与引用数组元素大体相同的方法引用他们,表包括两个基本成分:数据处理类型为BINARY_INTEGER主键 标量或记录数据类型的列 Note:此表非彼表,PL/SQL表,定义一个表:TYPE type_name IS TAB
7、LE OFcolumn_type|variable%TYPE|table.column%TYPE NOT NULL|table%ROWTYPE INDEX BY BINARY_INTEGER;,例:DECLARETYPE dept_table_type IS TABLE OF dept%ROWTYPE INDEX BY BINARY_INTEGER;my_dname_table dept_table_type;,PL/SQL表,注意:Index-by表中的元素不一定要按任何特定的顺序排序 关键字唯一允许的类型是BINARY_INTERGER 使用主键值引用表中的字段,引用表元素,DECLARE
8、type dept_table_type is table of dept%ROWTYPE index by binary_integer;my_dname_table dept_table_type;v_count number(3);BEGIN v_count:=-10;my_dname_table(v_count).dname:=searching;dbms_output.put_line(my_dname_table(v_count).dname);v_count:=0;my_dname_table(v_count).dname:=market;dbms_output.put_line
9、(my_dname_table(v_count).dname);v_count:=10;my_dname_table(v_count).dname:=finance;dbms_output.put_line(my_dname_table(v_count).dname);END;,PL/SQL中的可变数组,元素下标从0开始,数组变量的声明需要同时初始化一般格式为:,TYPE type_name IS VARRAY(maximum_size)OF element_type,其中:type_name是新可变长数组类型的类型名,maximum_size是一个指定可变数组中元素最大数目的整数。eleme
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PLSQL 程序设计 简介
链接地址:https://www.31ppt.com/p-6514878.html