我正在我的函数中创建一个动态查询,我需要从中提取数据。 现在我想执行那个查询。
像这样:
declare
df_id varchar;
BEGIN
/*creating dynamic query in run time and saving it in df_id in string format
say df_id='select col from schema.table_name**'*/
CREATE TEMP TABLE temp_table ON COMMIT DROP AS
execute df_id;
我该怎么做? 另外,有没有其他方法可以在字符串变量中执行查询并将其存储到临时表?
最佳答案
您需要在动态 SQL 中包含 CREATE TABLE
。
假设变量df_id
已经包含了SELECT
语句,你可以这样做:
df_id := 'CREATE TEMP TABLE temp_table ON COMMIT DROP AS '||df_id;
execute df_id;
关于postgresql - 在 postgresql 的子查询中使用执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50173206/