欢迎来到天天文库
浏览记录
ID:45077170
大小:781.00 KB
页数:36页
时间:2019-11-09
《PLSQL程序设计简介》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、什么是PL/SQLPL/SQL是ProcedureLanguage&StructuredQueryLanguage的缩写PL/SQL是对SQL语言存储过程语言的扩展PL/SQL提高了性能DatabaseDatabaseSQLSQLSQLSQLSQLIF...THENSQLELSESQLENDIF;SQL应用程序应用程序PL/SQL的优点有利于客户/服务器环境应用的运行PL/SQL是对SQL语言存储过程语言的扩展PL/SQL是ORACLE系统的核心语言,现在ORACLE的许多部件都是由PL/SQL写成PL/SQL块结构和组成元素PL/SQL程序由三个块组成即声明部分执行部分异常处理部分PL/
2、SQL块结构和组成元素PL/SQL块的结构如下:DECLARE/*声明部分:在此声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数*/BEGIN/*执行部分:过程及SQL语句,即程序的主要部分*/EXCEPTION/*执行异常部分:错误处理*/END;其中执行部分即begin和end块是必须的。PL/SQL中的标识符PL/SQL程序设计中的标识符定义与SQL的标识符定义的要求相同标识符名不能超过30字符第一个字符必须为字母不分大小写不能是SQL保留字PL/SQL中的标识符一般不要把变量名声明与表中字段名完全一样,如果这样可能得到不正确的结果例:DECLAREenamevarc
3、har2(20):=’KING’;BEGINDELETEFROMempWHEREename=ename;END;PL/SQL中的标识符下面是建议使用的变量命名方法标识符命名原则例程序变量v_namev_id程序常量c_constantc_student_name游标变量name_cursoremp_cursor异常标识e_namee_too_many_rows表类型name_table_typeemp_record_type表name_tableemp记录类型name_typeemp_record参数p_namep_idPL/SQL中的变量类型类型说明CHAR定长字符串VARCHAR2可变
4、字符串BINARY_INTEGER带符号整数,为整数计算优化性能NUMBER(p,s)数值LONG变长字符串DATE日期BOOLEAN布尔ROWID存放数据库行号PL/SQL中声明变量在语句块的声明部分对变量声明,声明一个变量的语法是:variable_name[constant]type[notnull][:=value]其中:variable_name为变量名type为类型value为变量的初值PL/SQL中声明变量例:DECLAREV_DescriptionVARCHAR2(50);V_NumberNUMBER:=45;V_CounterBINARY_INTEGER:=0;V_PIC
5、ONSTANTNUMBERNOTNULL:=3.14;注意:如果变量在声明时使用了NOTNULL选项则必须为变量指定初值如果变量在声明时使用了CONSTANT选项则必须为变量指定初值,并且该初值不能被改变。PL/SQL中的复合类型记录类型:记录类型是把逻辑相关的数据作为一个单元存储起来定义记录类型语法如下:TYPErecord_typeISRECORD(Field1type1[NOTNULL][:=exp1],Field2type2[NOTNULL][:=exp2],......Fieldntypen[NOTNULL][:=expn]);PL/SQL中的复合类型%TYPE:定义一个变量,其
6、数据类型与已经定义的某个数据变量的类型相同,或者与数据库表的某个列的数据类型相同,这时可以使用%TYPE例:DECLARE--用%TYPE类型定义变量v_enameemp.ename%TYPE;--用%TYPE类型定义与表相配的字段TYPEt_RecordISRECORD(t_noemp.empno%TYPE,t_nameemp.ename%TYPE,t_salemp.sal%TYPE);--声明接收数据的变量v_empt_Record;PL/SQL中的复合类型%ROWTYPE:返回一个记录类型,其数据类型和数据库表的数据结构相一致。例:DECLAREv_empnoemp.empno%TY
7、PE:=&no;recemp%ROWTYPE;BEGINSELECT*INTOrecFROMempWHEREempno=v_empno;DBMS_OUTPUT.PUT_LINE('姓名:'
8、
9、rec.ename
10、
11、'工资:'
12、
13、rec.sal
14、
15、'工作时间:'
16、
17、rec.hiredate);END;PL/SQL表类型PL/SQL表,或者称为索引表(index-table),是可以在PL/SQL程序中引用、能够模仿数组的非
此文档下载收益归作者所有