小编典典

使用 PL/pgSQL 将查询结果存储在变量中

all

如何将查询结果分配给 PL/pgSQL(PostgreSQL 的过程语言)中的变量?

我有一个功能:

CREATE OR REPLACE FUNCTION test(x numeric)
RETURNS character varying AS
$BODY$
DECLARE
name   character varying(255);
begin
 name ='SELECT name FROM test_table where id='||x;

 if(name='test')then
  --do somthing
 else
  --do the else part
 end if;
end;
return -- return my process result here
$BODY$
LANGUAGE plpgsql VOLATILE

在上面的函数中,我需要存储这个查询的结果:

'SELECT name FROM test_table where id='||x;

到变量name

如何处理这个?


阅读 56

收藏
2022-08-21

共1个答案

小编典典

我想你正在寻找SELECT select_expressions INTO

select test_table.name into name from test_table where id = x;

这将把你的函数参数nametest_table哪里拉出来,并将它留在变量中。不要遗漏表名前缀,否则您会收到有关不明确引用的投诉。id``name``test_table.name

2022-08-21