【文件属性】:
文件名称:PL/SQL变量-the design and analysis of algorithms
文件大小:4.17MB
文件格式:PDF
更新时间:2021-06-09 10:52:11
达梦,DM7
12.2 PL/SQL变量
变量的定义必须放在 PL/SQL块的变量声明部分,变量定义有两种格式,分别为:
变量名[CONSTANT] 类型 [NOT NULL] [DEFAULT默认值]
变量名[CONSTANT] 类型 [NOT NULL] [:=初始值]
变量名要遵守一定的命名规则。变量名必须以字母开头,包含数字、字母、下划线以及
$、#符号,长度不能超过 30字符,并且不能与达梦数据库的关键字相同,变量名与大小写
是无关的。
变量在定义时可以指定默认值或初始值,在 PL/SQL块的运行过程中也可以对其赋值。
赋值语句有两种方式:
(1)直接赋值语句
变量名:=表达式 或 SET 变量名=表达式
(2)通过 SQL SELECT INTO 或 FETCH INTO给变量赋值
SELECT <表达式>{,<表达式>} [INTO <主变量名>{,<主变量名>}] FROM <表引用>{,<表引用>} …;
或
FETCH [NEXT|PREV|FIRST|LAST|ABSOLUTE N|RELATIVE N]<游标名> [INTO<主变量名>{,<
主变量名>}];
注:FETCH中的 N,起始值为 0。
常量与变量相似,但常量的值在程序内部不能改变,常量的值在定义时赋予,它的声明
方式与变量相似,但必须包含关键字 CONSTANT。
如果需要打印输出变量的值,则要调用 PRINT 语句,如果数据类型不一致,则系统会
自动将它转换为 VARCHAR 类型输出。除了变量的声明外,变量的赋值、输出等操作都要放
在 PL/SQL块的可执行部分。
下面是一个变量声明和赋值的例子。
CREATE TABLE STUDENT(NAME VARCHAR(30) , AGE INT, SNO INT PRIMARY KEY);
INSERT INTO STUDENT VALUES('ZHANGSAN', 18, 10010);
INSERT INTO STUDENT VALUES('LISI', 20, 10011);
CREATE OR REPLACE PROCEDURE PROC AS
C1 CHAR(20) DEFAULT 'ABC'; --默认值
C2 CONSTANT VARCHAR:= 'HELLO WORLD!'; --常量
C3 INT NOT NULL := 1; --约束
C4 INT;
NAME1 VARCHAR;
SNO1 INT;
CURSOR_1 CURSOR;
BEGIN