gpt4 book ai didi

sql - 从函数中获取给定表名的列名

转载 作者:行者123 更新时间:2023-11-29 13:03:59 24 4
gpt4 key购买 nike

我想调用表名手动输入类型然后结果应该是表的详细信息,我试过那些功能

  1. 第一个功能正在运行。
  2. 第二个功能不工作。

1)

DECLARE      
All_columns varchar;
Tab_name ALIAS FOR $1 ;
BEGIN
FOR All_columns IN SELECT column_name
FROM information_schema.columns
WHERE table_name=Tab_name
loop
raise notice 'Columns:%',All_columns;
end loop;
return All_columns;
END;

select test_levelfunction1('country_table');

它显示了国家表的所有列

2)

DECLARE     
All_columns varchar ;
Tab_name ALIAS FOR $1 ;
BEGIN
FOR All_columns IN SELECT Tab_name.*
FROM Tab_name
loop
raise notice 'Columns:%',All_columns;
end loop;
return All_columns;
END;

调用 select test_levelfunction1('country_table'); 导致错误。
我需要 country_table 中的所有详细信息。
如何修复此功能?

最佳答案

就我阅读的内容而言,这两个函数都不起作用。或者您希望第一个返回您的输入而不是列名。

您可能希望在两个函数中都使用动态 sql,例如:

EXECUTE $x$SELECT * FROM $x$ || Tab_name::regclass

http://www.postgresql.org/docs/current/static/plpgsql-statements.html

关于sql - 从函数中获取给定表名的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20486778/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com