RETURN语句
功能描述
Vastbase提供两种方式用于返回数据:RETURN
,RETURN NEXT
或RETURN QUERY
。
注意事项
RETURN NEXT
和RETURN QUERY
只适用于函数,不适用存储过程。
语法格式
RETURN:用于终止函数并把expression的值返回给调用者。
RETURN [expression];
RETURN NEXT及RETURN QUERY:当需要函数返回一个集合时,使用
RETURN NEXT
或者RETURN QUERY
,可以向结果集追加结果,然后继续执行函数的下一条语句。RETURN NEXT expression; RETURN QUERY query; RETURN QUERY EXECUTE command-string [ USING expression [, ... ] ];
RETURN QUERY
有一种变体RETURN QUERY EXECUTE
,它可以动态指定要被执行的查询。可以通过USING向计算出的查询字符串插入参数表达式,这和在EXECUTE命令中的方式相同。
示例
示例1: 在函数中使用RETURN语句。
1、创建函数。
create function test_f_1166349(i1 int, i2 int) return int
as
x varchar;
begin
select i1 + i2 into x;
return x;
end;
/
2、调用函数。
select test_f_1166349(1,55);
返回结果为:
test_f_1166349
----------------
56
(1 row)
示例2: 在函数中使用RETURN QUERY
语句。
1、创建测试表并插入数据。
create table t_1166343(col1 int,col2 varchar);
insert into t_1166343 values(1, 'test'),(2, 'test2');
2、创建函数。
create function test_f_1166343() returns table(col1 int, col2 varchar)
as $$
begin
return query select * from t_1166343;
end;$$
LANGUAGE 'plpgsql';
3、调用函数。
select test_f_1166343();
返回结果为:
test_f_1166343
----------------
(1,test)
(2,test2)
(2 rows)