我有以下查询,它在 pgAdmin4 的“数据输出”字段中生成 ALTER TABLE 语句列表。我可以将它们复制并粘贴回查询窗格并在那里执行它们。
select 'ALTER TABLE ' || table_name || ' OWNER TO myuser;' from information_schema.tables where table_schema = 'public';
如何执行生成的语句而无需复制和粘贴它们?
我有以下查询,它在 pgAdmin4 的“数据输出”字段中生成 ALTER TABLE 语句列表。我可以将它们复制并粘贴回查询窗格并在那里执行它们。
select 'ALTER TABLE ' || table_name || ' OWNER TO myuser;' from information_schema.tables where table_schema = 'public';
如何执行生成的语句而无需复制和粘贴它们?
您可以使用该功能。
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()