LoveUnix » DB2 & Informix » 一个set赋值的问题
让LU留住您的每

一天 让LU博客留住您的每一天
2008-1-29 11:27 fenghz
一个set赋值的问题

假定:
create table tst (
id  integer,
parentId int,
name varchar(20))

insert into tst values
(1,0,'动物'),
(2,0,'植物'),
(3,1,'哺乳类'),
(4,1,'鸟类'),
(5,4,'家禽'),
(6,5,'草鸡'),
(7,5,'鸭子'),
(8,5,'鹅'),
(9,5,'肉鸡'),
(10,3,'狗')

create function get_name(id integer)
returns varchar(200)
language sql
reads sql data
begin atomic
declare name varchar(200) default '';
set name = (select name from tst where id = 1);
return name;
end

这样子一切正常,但是假设我的get_name函数的返回值需要是一个带输入参数的SQL语句的结果,我该怎么办呢?
比如下面的函数:

create function get_name(id integer)
returns varchar(200)
language sql
reads sql data
begin atomic
declare name varchar(200) default '';
declare sql_str varchar(600);
set sql_str = 'select name from tst where id = ' || char(id);
set name = (sql_str);
return name;
end

这个返回结果是sql_str的值,假设我希望返回sql_str的执行结果值,我该怎么做呢?

页: [1]
查看完整版本: 一个set赋值的问题


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.