2017-08-15 260 views
0

我有以下查詢,它生成pgAdmin4中'數據輸出'字段中的ALTER TABLE語句列表。我可以複製&將它們粘貼回查詢窗格並在那裏執行它們。如何執行在pgAdmin4中生成的查詢語句?

select 'ALTER TABLE ' || table_name || ' OWNER TO myuser;' from information_schema.tables where table_schema = 'public'; 

我如何可以執行生成的語句,而不必複製粘貼&他們?

回答

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()