2017-08-15 20 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() 
関連する問題