我有以下查询,它在pgAdmin4的“数据输出”字段中生成ALTER TABLE语句列表。我可以复制&将它们粘贴回查询窗格并在那里执行。
select 'ALTER TABLE ' || table_name || ' OWNER TO myuser;' from information_schema.tables where table_schema = 'public';
如何执行生成的语句而无需复制&粘贴它们?
答案 0 :(得分:1)
您可以使用此功能。
CREATE OR REPLACE FUNCTION change_permission_table()
RETURNS VOID AS $$
DECLARE
rec text;
BEGIN
FOR rec IN SELECT 'ALTER TABLE ' || table_name || ' OWNER TO maz;' FROM information_schema.tables WHERE table_schema = 'public'
LOOP
EXECUTE rec;
END LOOP;
END;
$$ LANGUAGE plpgsql;
-- Run the function to change the permission
SELECT change_permission_table()