首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >返回表中的postgresql两种情况

返回表中的postgresql两种情况
EN

Stack Overflow用户
提问于 2022-06-28 11:56:00
回答 1查看 44关注 0票数 1

我正在将存储过程从SQL服务器迁移到POSTGRESQL。我应该把桌子退了。但是,我有以下问题:

代码语言:javascript
运行
复制
IF ROWSTATE = 'L' THEN
      return TABLE A;
ELSIF ROWSTATE = 'C' THEN
      return TABLE B;
END IF

如何在POSTGRESQL中使用函数来实现?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-28 12:14:00

您必须创建一个RETURNS TABLE函数,该函数包含表ab中期望的列,例如:

代码语言:javascript
运行
复制
CREATE OR REPLACE FUNCTION myfunc(rowstate text)
RETURNS TABLE (ret_col1 text, ret_col2 text) AS $$ 
BEGIN
  IF $1='L' THEN
    RETURN QUERY SELECT cola1, cola2 FROM a;
  ELSEIF $1='C' THEN
    RETURN QUERY SELECT colb1, colb2 FROM b;
  END IF;
END;
$$ LANGUAGE plpgsql;

演示:db<>fiddle

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72785968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档