我设置了一个小查询,它使用 DO 块来动态编辑多个表。
DO
$$
DECLARE
_table varchar[];
loop_item text;
BEGIN
SELECT array_agg(table_name::TEXT) FROM information_schema.tables
INTO _table
WHERE table_schema = 'public';
FOREACH loop_item IN ARRAY "_table"
LOOP
IF loop_item != 'test' THEN
EXECUTE format('ALTER TABLE %s
ADD COLUMN IF NOT EXISTS new_column varchar;', loop_item);
END IF;
END LOOP;
END;
$$
如果未执行 EXECUTE 语句,则会打印一条通知。但我也想知道它何时成功执行。如何捕获并引发 EXECUTE 语句的返回消息?
信息:我正在使用 Azure Database for Postgres,无法访问配置文件。