WEB开发网
开发学院数据库DB2 DB2 9.5 SQL Procedure Developer 认证考试 735 准... 阅读

DB2 9.5 SQL Procedure Developer 认证考试 735 准备,第 1 部分

 2010-10-01 16:37:04 来源:WEB开发网   
核心提示: 现在可以在 SQL 过程中使用这个数据类型:清单 3. 在过程中使用数组数据类型CREATE PROCEDURE PROC_VARRAY_test (out mynames names)BEGINDECLARE v_pnumb numbers;SET v_pnumb = ARRAY[1,2,3,

现在可以在 SQL 过程中使用这个数据类型:

清单 3. 在过程中使用数组数据类型

CREATE PROCEDURE PROC_VARRAY_test (out mynames names)
BEGIN
DECLARE v_pnumb numbers;
SET v_pnumb = ARRAY[1,2,3,5,7,11];
SET mynames(1) =’MARINA’;

END

DB2 支持一些操作数组的方法。例如,函数 CARDINALITY(myarray) 返回一个数组中元素的个数。

赋值

SQL PL 提供了 SET 语句来为变量和数组元素赋值。

下面是一个 SET 语句的简化的语法:

SET variable_name = value/expression/NULL;

这个变量名可以是一个本地变量、全局变量或数组元素的名称。

下面是一些例子:

清单 4. SET 语句的例子

SET var1 = 10;
SET total = (select sum(c1) from T1);
SET var2 = POSSTR(‘MYTEST’,’TEST’);
SET v_numb(10) = 20; -- assign value of 20 to the 10th element
             of the array v_numb
SET v_numb = ARRAY[1,2,3,4]; -- fill up array with values

为变量赋值的其他方法有:

VALUES INTO
SELECT (or FETCH) INTO

下面的例子演示了这些方法的使用:

清单 5. VALUE INTO 和 SELECT INTO 的例子

VALUES 2 INTO v1;
VALUES ‘TEST’ INTO var2;
SELECT SUM(c1) INTO var1 FROM T1;
SELECT POSSTR(‘MYTEST’,’TEST’) INTO v1 FROM SYSIBM.SYSDUMMY1;

专用寄存器

专用寄存器(special register) 是 DBA 定义的一个存储块,供一个应用程序过程使用。寄存器中的值可以在 SQL 语句或 SQL PL 语句中访问和引用。在 IBM DB2 database for Linux, UNIX, and Windows Information Center 可以找到所有的专用寄存器(参见 参考资料)。

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:DB SQL Procedure

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接