文档详情

PL_SQL语句块.doc

发布:2017-03-16约6.3千字共20页下载文档
文本预览下载声明
PL/SQL 语句块 PL/SQL语言 作用:如果不使用PL/SQL语言,oracle一次只能处理一条SQL语句。每条SQL语句都导致客户(client)向服务器 server 调用, 从而在性能上产生很大的开销,尤其是在网络操作中。如果使用PL/SQL,一个块中的语句作为一个组,导致客户向服务器的一次调用,减少网络转输 注:在运行些PL/SQL块前,应先运行/*使dbms_output.put_line可以显示在屏幕上*/ Set serveroutput onmyname CONSTANT VARCHAR2 100 : qqq;那么在后面则不可以再进行赋值,否则有pls-00403异常 如果定义的标识符不能为空,则必须加关键字NOT NULL,并赋初值。如 myname VARCHAR2 100 NOT NULL: 11; “: ”为赋值操作符。 例子 查询返回只可返回一条记录 --用CONSTANT,要在类型后面赋值,如果有查询也要有into另一个变量 DECLARE myname CONSTANT NUMBER: 1; username_ VARCHAR 100 ; BEGIN SELECT a.usernmae INTO username_ FROM Table_Test a WHERE ID myname; dbms_output.put_line username_ ||username_ ; EXCEPTION when NO_DATA_FOUND THEN dbms_output.put_line 有异常 ||sqlerrm ; END; -- not null的例子,要在not null后面赋值,可以在查询中再赋值 DECLARE myname VARCHAR2 100 NOT NULL: 11; BEGIN SELECT a.usernmae INTO myname FROM Table_Test a WHERE ID in 11 ; dbms_output.put_line myname ||myname ; EXCEPTION when NO_DATA_FOUND THEN dbms_output.put_line 有异常 ||sqlerrm ; END; PL/SQL提供了SQL没有的附加数据类型。除一般的ORACLE SQL数据类型外,PL/SQL还可以使用这些数据类型对变理进行说明 1、BOOLEAN:可用预定义的常量TRUE、FALSE或NULL对一个布尔变量赋值。 2、binary_integer(二进制整数 :数值范围在 -2,147,483,647到2,147,483,647之间。 3、NATURAL(自然数):数值范围在0到2,147,483,647之间。 4、POSITIVE 正整数 :数值范围在1到2,147,483,647之间。 5、%TYPE:可说明一个变量的数据类型与某一指定列的数据类型相同。 6、%ROWTYPE: 用这种数据类型可以说明一个复合变量,与某一特定有中的一行相同。 变量声明分标量型变量声明和组合变量(复合变量)声明。标量型变量是指其内部没有成员的变量。 例: age number 5 not null: 25; pi constant number 9 : 3.1415926; name char 10 not null: ‘fan’; today date not null: sysdate; sex boolean: true; 例:声明一个变量Student_name,其类型基于另一个变量teacher_name。 Teacher_name char 10 ; Student_name teacher_name%type; 例: 声明一个变量No,使其与表emp中EMPNO的类型一致。 no emp.empno%type; 组合型变量内部包含若干个成员,每个成员由标量型变量或组合型变量组成 定义组合型变量的语法如下: type is record | [not null], | [not null], ……. ; ; 例:定义一个变量,存放一个学生的有关信息。 declare type student is record /*定义组合型变量类型*/ id number 4 not null: 0,? name char 10 not null: , sex boolean not null: true, birthday date, physics number 3 ,chemistry number 3 ; stu student; /*定义组合型变量*/ beg
显示全部
相似文档