WEB开发网
开发学院数据库DB2 DB2 V9.5版本中数据库应用程序移植的改进 阅读

DB2 V9.5版本中数据库应用程序移植的改进

 2008-09-03 16:28:24 来源:WEB开发网   
核心提示: 这个例子,我们使用2个数组类型(intArray 和 stringArray),DB2 V9.5版本中数据库应用程序移植的改进(3),使用一个包含列(id 和 name)的 persons 表, 存储过程 processPersons 添加3个人到 persons表, 并返回person名

这个例子,我们使用2个数组类型(intArray 和 stringArray),使用一个包含列(id 和 name)的 persons 表。 存储过程 processPersons 添加3个人到 persons表, 并返回person名字的数组,按id排序,名字中包含字母 ’o’。 3个persons 的 id 和 name 作为数组元素(ids 和 names)添加到数组中。这些数组使用UNNEST 函数,将数组数据以包含2列数据的表的表达形式表达,并插入到persons 表中。最后使用ARRAY_AGG函数将数据汇集返回给输出参数。

create type intArray as integer array[100] @
create type stringArray as varchar(10) array[100] @
create table persons (id integer, name varchar(10)) @
insert into persons values(2, ’Tom’) @
insert into persons values(4, ’Jill’) @
insert into persons values(1, ’Joe’) @
insert into persons values(3, ’Mary’) @
create procedure processPersons(out witho stringArray)
begin
declare ids intArray;
declare names stringArray;
set ids = ARRAY[5,6,7];
set names = ARRAY[’Bob’, ’Ann’, ’Sue’];
insert into persons(id, name) (select T.i, T.n from UNNEST(ids, names) as T(i, n));
set witho = (select array_agg(name order by id)
from persons
where name like ’%o%’);
end @
Example 3

这个例子说明在java代码中如何调用含有数组参数的存储过程,本例子中存储过程bonus_calculate含有2个输入参数,一个是数组projs,一个是整形percentage

上一页  1 2 3 4 5 6  下一页

Tags:DB 数据库

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