PL_SQL语句块.doc
文本预览下载声明
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],……. ; ;例:定义一个变量,存放一个学生的有关信息。declaretype 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
显示全部