postgresql函数无法找到存在的对象 - 关系不存在

时间:2017-07-11 10:01:28

标签: postgresql plpgsql

我创建了一个从特定表中选择*的函数,该表包含我在模式中具有的特定约束的alter命令。我的代码看起来像这样:

v_sql='select * from my_table_alters'
for rec in exec v_sql
loop
raise notice '%',rec
execute rec;
end loop

但是,当我从psql运行我的func时:    mydb =>选择my_function(my_parameter); 我得到了下一个错误:

NOTICE:  alter table  nap_ip_discount drop constraint sys_c008736(I print 
that notice its not an error - that what Im trying to execute in my loop..)
constraint "sys_c008736" of relation "nap_ip_discount" does not exist

但是当我检查是否存在该约束时:

mydb=>\d  nap_ip_discount drop constraint

我明白了:

"sys_c008736" CHECK (nap_discount_seq IS NOT NULL)

表nap_discount_seq在架构间隙下,但我是该架构的所有者,它也在我的search_path中。

0 个答案:

没有答案