SQL PL基本概念
--声明变量 --1.语法: --declare <varible-name> <data-type> <default-constant>默认不变 --declare 变量名 数据类型 常量值 --2.举例: --declare x,y int default 0; //定义一个x,y的变量,默认值为0 --declare myname varchar(10); --declare z decimal(9,2) default 0.0; --3.赋值: --方法一:使用set语句 --方法二:使用values into语句 --方法三:使用select into语句 --set x=10; --set y=(select sum(c1) from T1); --values 10 into x; --select sum(c1) into y from T1; --4.回话全局变量 --DB2支持会话全局变量。它与一个特定的会话相关联,它对于这个会话中的每个存储过程都是全局的 --会话全局变量是在存储过程之外声明的。 --语法: --create variable var_name datatype [default value] --create 变量名 数据类型 【默认值】 --create varible myvar interger default 0; --数组 --DB2从9.5开始支持数组,可以在存储过程和应用程序中使用数组,但不能再定义表的时候使用数组 --1.定义数组 --语法:create type <array-type-name> as <data-type> array[integer-constant] --create type 数组类型名 as 数据类型 array[整型常量值] --create type nar as integer array[100] --create type myname as varchar(30) array[]; --声明数组 --declare <array-name> <array-type-name> --declare mynumber nar; --declare namearr mynames; --declare nameArr mynames; --赋值 --使用set语句 --使用values into语句 --使用select into语句 --使用ARRAR构造函数 --操作数组的函数 --array_delete 删除数组元素 --trim_array 从右开始删除指定数目个元素 --array_first 返回数组中第一个元素 --array_last 返回数组中最后一个元素 --array_next 返回数组下一个元素 --unnest 将数组转换为表 --连接数据库 --connect to sanple! --定义数组 --create type intarray as integer array[10] --创建存储过程 --create procedure test() --begin --declare testarr intarray; --赋值1:set testarr=array[1,2,3,4,5,6,7,8,9,10]; --赋值2:values 1 into testarr[1], values 2 into testarr[2] --赋值3:set testarr[1]=1 --调用 --将上面的代码保存为c:\test.sql,然后在DB2命令窗口执行如下命令 --db2 -td! -vf c:\test.sql