postgresql - postgresql 函数中的动态列返回数
问题描述
CREATE OR REPLACE FUNCTION pcyc.mapp_func_test_dyna(mapp_tbl text,rec_type text,src_tbl text,map_cols_select text,map_tbl_col text,src_tbl_col text,conditions text,how_many integer)
RETURNS table (col character variable)
AS $func$
begin
return query
execute format('SELECT %I from pcyc.%I, pcyc.%I as t2 where %I=t2.%I %s ' , map_cols_select, mapp_tbl,src_tbl, map_tbl_col,src_tbl_col, conditions);
END;
$func$
LANGUAGE plpgsql;
并将函数调用为:
select * from pcyc.mapp_func_test_dyna('tbl_mapping_profdesig','HCP','tbl_transactions_bkag','federalreportablecategory','professionaldesignation','pwc_profdesg',' and federalreportablecategory is not null')
我正在尝试通过 select 语句检索多个列,其中我将列作为参数“map_cols_select”传递,但“表(col 字符变量)”行使得仅返回一列成为可能。我如何动态获取多列作为返回。
我已经尝试过返回记录集,但它不起作用!请帮助我,卡在这个问题上很长时间了!!
解决方案
推荐阅读
- git - Git revert 合并到后来的提交中的旧 git 提交
- angular - Spring oauth2 无法正确验证用户
- azure - 从 Azure AD 应用程序上下文创建 Azure 预算
- excel - 寻找与 2 个 excel 表完全匹配并返回数据
- spring-boot - 部署到独立 Apache Tomcat Web 服务器时,Spring Boot 2.1 Web 应用程序不起作用
- c# - 通过来自不同应用程序服务器的存储连接字符串在 Azurestorage 上创建和访问 sqlite-DB
- python - 如何在 Python 中从混合 CSV 文件中读取 int 数据
- vb.net - File.ReadAllLines 在我的网络路径前面放了一个 C:
- karate - 空手道:如果该值不为空,则从一个响应中将值作为查询参数传递
- php - 无法在 Stripe webhook 中检索会话的变量值