我的目的是将表的名称分配到一个数组中,并foreach
通过这个数组将它们放入循环中。
我实际上正在尝试做一些更复杂的事情,但在我尝试让以下代码工作之前:
CREATE OR REPLACE FUNCTION delete_auto()
RETURNS void AS
$BODY$DECLARE
t text;
tbl_array text[] = array["ID: 889197824 CH: 0006 Messdaten2","ID: 889197824 CH: 0006 Messdaten3","ID: 889197824 CH: 0006 Messdaten4"];
BEGIN
FOREACH t IN ARRAY tbl_array LOOP
DROP TABLE t;
END LOOP;
END; $BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
ALTER FUNCTION delete_auto()
OWNER TO postgres;
函数在我看来非常正确,但它不会删除表,在我执行它之后实际上什么都不做。我只是在日志上收到这样的错误:
Table »t« does not exist.
我也用 varchar[] 而不是 text[] 尝试了相同的代码,但也没有工作。任何帮助,将不胜感激