gpt4 book ai didi

sql - 返回带有文本变量的查询

转载 作者:行者123 更新时间:2023-11-29 13:31:34 25 4
gpt4 key购买 nike

我需要返回一些查询,我已经到了,嗯,隐式文本变量。我怎么能在这里得到里面的东西?因为它不明白 _table_name 不是文本而是变量?

因为我得到了这样的错误

ERROR:  "_table_name" relation does not exist 
LINE 1: SELECT DISTINCT "TYPES".type_id FROM "TYPES", _table_name WH...

这是我的功能

CREATE OR REPLACE FUNCTION get_las_types(_table_num integer)

RETURNS TABLE(_type int) AS

$BODY$
DECLARE
_table_name text;

BEGIN
_table_name:='well_las_data_'||_table_num;

RETURN QUERY SELECT DISTINCT "TYPES".type_id FROM "TYPES", _table_name WHERE "TYPES".type_id = _table_name.type_id;
END;
$BODY$
LANGUAGE plpgsql;

最佳答案

您可以使用新的 format 安全地构建您的动态查询功能(9.1 及更高版本):

return query execute format('SELECT DISTINCT "TYPES".type_id FROM "TYPES", %I WHERE "TYPES".type_id =  %I.type_id;', _table_name,_table_name);

您可以找到其他示例 here .

关于sql - 返回带有文本变量的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21998050/

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