当我从我定义的函数运行以下命令时,我收到错误"EXECUTE of SELECT ...INTO未实施"。这是否意味着不允许使用特定命令(即"选择...进入")?或者这仅仅意味着我做错了什么? 导致错误的实际代码如下。如果答案已经在这里,我深表歉意,但是我查看了一下,找不到这个特定的错误。提前感谢...无论它有什么价值,我都在运行 8.4.7
vCommand = 'select ' || stmt.column_name || ' as id ' ||
', count(*) as nCount
INTO tmpResults
from ' || stmt.table_name || '
WHERE ' || stmt.column_name || ' IN (select distinct primary_id from anyTable
WHERE primary_id = ' || stmt.column_name || ')
group by ' || stmt.column_name || ';';
EXECUTE vCommand;
INTO在这个用例中是模棱两可的,然后在那里被禁止。
您可以改用"创建表作为选择"。
创建或替换函数 public.f1(表名字符变化) 返回整数 语言 plpgsql作为 $function$开始 执行"在提交时创建临时表 xx,从中选择 *" ||quote_ident(表名); 返回(从 xx 中选择计数 (*);结束;$function$postgres=# 选择 f1('omega'); F1──── 2(1 行)