VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

RETURN语句

功能描述

Vastbase提供两种方式用于返回数据:RETURNRETURN NEXTRETURN QUERY

注意事项

RETURN NEXTRETURN 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)