77范文网 - 专业文章范例文档资料分享平台

oracle开发(2)

来源:网络收集 时间:2019-03-10 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

FUNCTION name [{parameter[,parameter,...])] RETURN datatypes IS [local declarations] BEGIN

execute statements [EXCEPTION exception handlers] END [name]

过程

存储过程是一个PL/SQL程序块,接受零个或多个参数作为输入(INPUT)或输出(OUTPUT)、或既作输入又作输出(INOUT),与函数不同,存储过程没有返回值,存储过程不能由SQL语句直接使用,只能通过EXECUT命令或PL/SQL程序块内部调用,定义存储过程的语法如下:

PROCEDURE name [(parameter[,parameter,...])] IS [local declarations] BEGIN

execute statements [EXCEPTION

exception handlers ] END [name]

包(package)

包其实就是被组合在一起的相关对象的集合,当包中任何函数或存储过程被调用,包就被加载入内存中,包中的任何函数或存储过程的子程序访问速度将大大加快。

包由两个部分组成:规范和包主体(body),规范描述变量、常量、游标、和子程序,包体完全定义子程序和游标。

触发器(trigger)

触发器与一个表或数据库事件联系在一起的,当一个触发器事件发生时,定义在表上的触发器被触发。 PL/SQL教程(二) 所属类别:ORACLE 推荐指数:★★★☆ 文档人气:531 本周人气:31

发布日期:2006-1-4

变量和常量

变量存放在内存中以获得值,能被PL/SQL块引用。你可以把变量想象成一个可储藏东西的容器,容器内的东西是可以VTPT改变的。

声明变量

变量一般都在PL/SQL块的声明部分声明,PL/SQL是一种强壮的类型语言,这就是说在引用变量前必须首先声明,要在执行或异常处理部分使用变量,那么变量必须首先在声明部分进行声明。

声明变量的语法如下:

Variable_name [CONSTANT] databyte [NOT NULL][:=|DEFAULT expression]

注意:可以在声明变量的同时给变量强制性的加上NOT NULL约束条件,此时变量在初始化时必须赋值。

给变量赋值

给变量赋值有两种方式:

. 直接给变量赋值

X:=200;

Y=Y+(X*20);

. 通过SQL SELECT INTO 或FETCH INTO给变量赋值

SELECT SUM(SALARY),SUM(SALARY*0.1) INTO TOTAL_SALARY,TATAL_COMMISSION FROM EMPLOYEE WHERE DEPT=10;

常量

常量与变量相似,但常量的值在程序内部不能改变,常量的值在定义时赋予,,他的声明方式与变量相似,但必须包括关键字CONSTANT。常量和变量都可被定义为SQL和用户定义的数据类型。

ZERO_VALUE CONSTANT NUMBER:=0;

这个语句定了一个名叫ZERO_VALUE、数据类型是NUMBER、值为0的常量。

标量(scalar)数据类型

标量(scalar)数据类型没有内部组件,他们大致可分为以下四类:

. number . character . date/time . boolean

表1显示了数字数据类型;表2显示了字符数据类型;表3显示了日期和布尔数据类型。

表1 Scalar Types:Numeric

Datatype Range Subtypes description

BINARY_INTEGER -214748-2147483647 NATURAL NATURAL NPOSITIVE POSITIVEN SIGNTYPE

用于存储单字节整数。

要求存储长度低于NUMBER值。 用于限制范围的子类型(SUBTYPE): NATURAL:用于非负数 POSITIVE:只用于正数

NATURALN:只用于非负数和非NULL值 POSITIVEN:只用于正数,不能用于NULL值 SIGNTYPE:只有值:-1、0或1. NUMBER 1.0E-130-9.99E125 DEC DECIMAL DOUBLE PRECISION FLOAT INTEGERIC INT

NUMERIC REAL

SMALLINT 存储数字值,包括整数和浮点数。可以选择精度和刻度方式,语法: number[([,])]。

缺省的精度是38,scale是0.

PLS_INTEGER -2147483647-2147483647 与BINARY_INTEGER基本相同,但采用机器运算时,PLS_INTEGER提供更好的性能 。

表2 字符数据类型

datatype rang subtype description

CHAR 最大长度32767字节 CHARACTER 存储定长字符串,如果长度没有确定,缺省是1

LONG 最大长度2147483647字节 存储可变长度字符串

RAW 最大长度32767字节 用于存储二进制数据和字节字符串,当在两个数据库之间进行传递时,RAW数据不在字符集之间进行转换。

LONGRAW 最大长度2147483647 与LONG数据类型相似,同样他也不能在字符集之间进行转换。

ROWID 18个字节 与数据库ROWID伪列类型相同,能够存储一个行标示符,可以将行标示符看作数据库中每一行的唯一键值。

VARCHAR2 最大长度32767字节 STRINGVARCHAR 与VARCHAR数据类型相似,存储可变长度的字符串。声明方法与VARCHAR相同

表3 DATE和BOOLEAN datatype range description

BOOLEAN TRUE/FALSE 存储逻辑值TRUE或FALSE,无参数

DATE 01/01/4712 BC 存储固定长的日期和时间值,日期值中包含时间

declare

v_dept number; begin

select a.deptno into v_dept from emp a

where job='PRESIDENT' update_commission(v_dept); end SQL>/

PL/SQL procedure successfully completed SQL>

PL/SQL教程(三) 所属类别:ORACLE 推荐指数:★★★☆ 文档人气:472 本周人气:31

发布日期:2006-1-4

控制结构

控制结构控制PL/SQL程序流程的代码行,PL/SQL支持条件控制和循环控制结构。

语法和用途

IF..THEN

语法:

IF condition THEN

Statements 1; Statements 2; .... END IF

IF语句判断条件condition是否为TRUE,如果是,则执行THEN后面的语句,如果condition为false或NULL则跳过THEN到END IF之间的语句,执行END IF后面的语句。

IF..THEN...ELSE

语法:

IF condition THEN Statements 1; Statements 2; .... ELSE

Statements 1; Statements 2; ....

END IF

如果条件condition为TRUE,则执行THEN到ELSE之间的语句,否则执行ELSE到END IF之间的语句。

IF 可以嵌套,可以在IF 或IF ..ELSE语句中使用IF或IF..ELSE语句。

if (a>b) and (a>c) then g:=a; else

g:=b;

if c>g then g:=c; end if end if

IF..THEN..ELSIF

语法:

IF condition1 THEN statement1;

ELSIF condition2 THEN

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库oracle开发(2)在线全文阅读。

oracle开发(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/509358.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: