使用变量作为语句的一部分

FiruzzZ

我想使用变量作为语句的一部分,但是它说“ tableref”不存在。

CREATE OR REPLACE FUNCTION ff(tipo_acta integer, hasta date)
  RETURNS void AS
$BODY$
DECLARE 
 tableref varchar;
 r record;
BEGIN
 if tipo_acta = 1 then
          tableref = 't1';
 elsif tipo_acta = 2 then tableref = 't2';
 else tableref = 't3';
end if;

for r select id from tableref where somedate >= hasta loop
--
end loop;

我尝试使用EXECUTE 'select id from ' || tableref || ' where....'但也不起作用

我以为先获取记录select id into r from t1 where ..,然后在循环中使用它,但是似乎没有办法在这样的循环中使用记录:

FOR r LOOP
....
END LOOP;
巴勃罗·圣克鲁斯

您需要为此使用动态sql。您需要使用execute命令在PLPG / SQL中执行此操作。

在您的代码中,它应该类似于:

EXECUTE 'SELECT id FROM ' || tableref || ' WHERE somedate >= $1'
INTO c
USING hasta;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Swift-变量在if语句中作为更新的一部分,但随后将还原

如何使用变量内容作为其他变量名称的一部分?

如何在子查询中使用HAVING作为Select语句的一部分

React TypeScript:如何使用变量名作为键的一部分

Python-使用变量作为字符串格式的一部分

如何使用系统环境变量作为@PropertySource值的一部分?

使用模板变量作为脚本src的一部分

在WHILE循环中使用变量作为列名的一部分

使用已定义的变量作为R中路径名的一部分

Rails-如何使用变量作为方法名称的一部分

如何使用函数参数作为变量的一部分?

使用“for 循环”中的 i 作为变量的一部分

在公式的一部分中使用变量

如何在 mysql 中执行 IF 语句作为 SELECT 语句的一部分

使用变量作为另一个变量名的一部分

Django使用模板变量的值作为另一个变量名的一部分

局部变量作为全局变量的一部分

选择选项数组作为select语句的一部分

如何返回记录数作为select语句的一部分?

php if语句作为ajax调用的一部分没有失败

将VARCHAR转换为SMALLDATETIME作为UPDATE语句的一部分

php If语句作为函数内部返回值的一部分

插入语句作为存储过程的一部分不插入行

如何通过一个环境变量作为命令的一部分

使用字符串输出作为数据框变量名称的一部分

使用SSIS变量(@ [User :: FileName])作为“执行Sql Server任务”中UPDATE的一部分?

如何在 Concourse CI 中使用 yaml 模板变量作为值的一部分

如何扩展波浪符号〜作为变量的一部分?

在作为回调一部分的嵌套函数中传递或访问变量