ORACLE PL SQL编程详解之二

ORACLE PL SQL编程详解之二

ID:41037269

大小:155.00 KB

页数:17页

时间:2019-08-14

ORACLE PL SQL编程详解之二_第1页
ORACLE PL SQL编程详解之二_第2页
ORACLE PL SQL编程详解之二_第3页
ORACLE PL SQL编程详解之二_第4页
ORACLE PL SQL编程详解之二_第5页
资源描述:

《ORACLE PL SQL编程详解之二》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、ORACLEPL/SQL编程详解之二作者:来源:2011-05-3023:12:05我要评论(0)核心提示:本篇主要内容如下:2.1PL/SQL块2.2PL/SQL结构2.3标识符2.4PL/SQL变量类型2.4.1变量类型2.4.2复合类型2.4.2.1记录类型2.4.2.2数组类型2.4.2.3使用%TYPE2.4.3使用%ROWTYPE2.4.4LOB类型2.4.5BIND变量2.4.6PL/SQL表(TABLE)2.5运算符和表 2.1  PL/SQL块PL/SQL程序由三个块组成,即声明部分、执行部分、异常处理部分。 PL/SQL块

2、的结构如下:  DECLARE      --声明部分: 在此声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数  BEGIN    -- 执行部分:  过程及SQL 语句  , 即程序的主要部分  EXCEPTION    -- 执行异常部分: 错误处理  END;  其中:执行部分不能省略。 PL/SQL块可以分为三类: 1.       无名块或匿名块(anonymous):动态构造,只能执行一次,可调用其它程序,但不能被其它程序调用。2.       命名块(named):是带有名称的匿名块,这个名称就是标签。3.   

3、    子程序(subprogram):存储在数据库中的存储过程、函数等。当在数据库上建立好后可以在其它程序中调用它们。4.       触发器(Trigger):当数据库发生操作时,会触发一些事件,从而自动执行相应的程序。5.       程序包(package):存储在数据库中的一组子程序、变量定义。在包中的子程序可以被其它程序包或子程序调用。但如果声明的是局部子程序,则只能在定义该局部子程序的块中调用该局部子程序。2.2  PL/SQL结构l      PL/SQL块中可以包含子块;l      子块可以位于PL/SQL中的任何部分;l

4、      子块也即PL/SQL中的一条命令; 2.3  标识符PL/SQL程序设计中的标识符定义与SQL的标识符定义的要求相同。要求和限制有:l      标识符名不能超过30字符;l      第一个字符必须为字母;l      不分大小写;l      不能用’-‘(减号);l      不能是SQL保留字。提示: 一般不要把变量名声明与表中字段名完全一样,如果这样可能得到不正确的结果. 例如:下面的例子将会删除所有的纪录,而不是’EricHu’的记录; DECLARE   ename varchar2(20) :='EricHu';B

5、EGIN  DELETE FROM scott.emp WHERE ename=ename;END;    变量命名在PL/SQL中有特别的讲究,建议在系统的设计阶段就要求所有编程人员共同遵守一定的要求,使得整个系统的文档在规范上达到要求。下面是建议的命名方法: 标识符命名规则例子程序变量V_nameV_name程序常量C_NameC_company_name游标变量Cursor_NameCursor_Emp异常标识E_nameE_too_many表类型Name_table_typeEmp_record_type表Name_tableEmp记

6、录类型Name_recordEmp_recordSQL*Plus替代变量P_nameP_sal绑定变量G_nameG_year_sal 2.4  PL/SQL变量类型在前面的介绍中,有系统的数据类型,也可以自定义数据类型。下表给出ORACLE类型和PL/SQL中的变量类型的合法使用列表: 2.4.1 变量类型 在ORACLE8i中可以使用的变量类型有:类型子类说    明范  围ORACLE限制CHARCharacterStringRowidNchar定长字符串  民族语言字符集0à32767可选,确省=12000VARCHAR2Varcha

7、r,StringNVARCHAR2可变字符串民族语言字符集0à3276740004000BINARY_INTEGER 带符号整数,为整数计算优化性能  NUMBER(p,s)Dec DoubleprecisionIntegerInt小数,NUMBER的子类型高精度实数整数,NUMBER的子类型整数,NUMBER的子类型与NUMBER等价与NUMBER等价  NumericRealSmallint整数,比integer小LONG 变长字符串0->214748364732,767字节DATE 日期型公元前4712年1月1日至公元后4712年12月

8、31日 BOOLEAN 布尔型TRUE,FALSE,NULL不使用ROWID 存放数据库行号  UROWID 通用行标识符,字符类型        例1.插入一条记

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。