PLSQL(2)

2019-08-03 12:49

BOOLEAN DATE TRUE/FALSE 01/01/4712 BC 存储逻辑值TRUE或FALSE,无参数 存储固定长的日期和时间值,日期值中包含时间

LOB数据类型

LOB(大对象,Large object) 数据类型用于存储类似图像,声音这样的大型数据对象,LOB数据对象可以是二进制数据也可以是字符数据,其最大长度不超过4G。LOB数据类型支持任意访问方式,LONG只支持顺序访问方式。LOB存储在一个单独的位置上,同时一个\定位符\存储在原始的表中,该定位符是一个指向实际数据的指针。在PL/SQL中操作LOB数据对象使用ORACLE提供的包DBMS_LOB.LOB数据类型可分为以下四类:

. BFILE . BLOB . CLOB . NCLOB

操作符

与其他程序设计语言相同,PL/SQL有一系列操作符。操作符分为下面几类:

. 算术操作符

. 关系操作符

. 比较操作符

. 逻辑操作符

算术操作符如表4所示

operator + - / * ** operation 加 减 除 乘 乘方

关系操作符主要用于条件判断语句或用于where子串中,关系操作符检查条件和结果是否为true或false,表5是PL/SQL中的关系操作符

operator < operation 小于操作符 <= > >= = != <> := 小于或等于操作符 大于操作符 大于或等于操作符 等于操作符 不等于操作符 不等于操作符 赋值操作符

表6 显示的是比较操作符

operator IS NULL LIKE BETWEEN IN operation 如果操作数为NULL返回TRUE 比较字符串值 验证值是否在范围之内 验证操作数在设定的一系列值中

表7.8显示的是逻辑操作符

operator AND OR NOT operation 两个条件都必须满足 只要满足两个条件中的一个 取反

执行部分

执行部分包含了所有的语句和表达式,执行部分以关键字BEGIN开始,以关键字EXCEPTION结束,如果EXCEPTION不存在,那么将以关键字END结束。分号分隔每一条语句,使用赋值操作符:=或SELECT INTO或FETCH INTO给每个变量赋值,执行部分的错误将在异常处理部分解决,在执行部分中可以使用另一个PL/SQL程序块,这种程序块被称为嵌套块

所有的SQL数据操作语句都可以用于执行部分,PL/SQL块不能再屏幕上显示SELECT语句的输出。SELECT语句必须包括一个INTO子串或者是游标的一部分,执行部分使用的变量和常量必须首先在声明部分声明,执行部分必须至少包括一条可执行语句,NULL是一条合法的可执行语句,事物控制语句COMMIT和ROLLBACK可以在执行部分使用,数据定义语言(Data Definition language)不能在执行部分中使用,DDL语句与EXECUTE IMMEDIATE一起使用或者是DBMS_SQL调用。

执行一个PL/SQL块

SQL*PLUS中匿名的PL/SQL块的执行是在PL/SQL块后输入/来执行,如下面的例子所示:

declare v_comm_percent constant number:=10; begin update emp set comm=sal*v_comm_percent where deptno=10; end SQL> / PL/SQL procedure successfully completed. SQL>

命名的程序与匿名程序的执行不同,执行命名的程序块必须使用execute关键字:

create or replace procedure update_commission (v_dept in number,v_pervent in number default 10) is begin update emp

set comm=sal*v_percent where deptno=v_dept; end SQL>/

Procedure created

SQL>execute update_commission(10,15);

PL/SQL procedure successfully completed. SQL>

如果在另一个命名程序块或匿名程序块中执行这个程序,那么就不需要EXECUTE关进字。

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程序流程的代码行,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 statement2; ELSIF condition3 THEN statement3; ELSE statement4; END IF; statement5;

如果条件condition1为TRUE则执行statement1,然后执行statement5,否则判断condition2是否为TRUE,若为TRUE则执行statement2,然后执行statement5,对于condition3也是相同的,如果condition1,condition2,condition3都不成立,那么将执行statement4,然后执行statement5。

循环控制

循环控制的基本形式是LOOP语句,LOOP和END LOOP之间的语句将无限次的执行。LOOP语句的语法如下:

LOOP statements; END LOOP

LOOP和END LOOP之间的语句无限次的执行显然是不行的,那么在使用LOOP语句时必须使用EXIT语句,强制循环结束,例如:

X:=100; LOOP X:=X+10; IF X>1000 THEN EXIT; END IF END LOOP; Y:=X;

此时Y的值是1010.


PLSQL(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:工程监理例会纪要范本

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: