2012-02-27 18 views

答えて

2

両方のスキーマで、テーブル名がユニークである場合は、psqlのシェルで一方

ALTER TABLE old_schema.table_name SET SCHEMA new_Schema; 

を使用することができますMatlabのは、あなたが任意のスキーマにアクセスすることを許可しなかったとき、私は驚くだろう。 old_schema.table1new_schema.table2でテーブルにアクセスしようとしましたか?その場合、データベースを変更する必要はありません。

編集

あなたはかなりの一握りのテーブルを持っている場合は、各テーブルに対して、上記のコマンドを発行する必要があります。これを回避する方法はありません。しかし少し助けてください:コマンドを計算し、結果を手で実行することができます。

select 'ALTER TABLE '||table_schema||'.'||table_name||' SET SCHEMA new_schema' 
    from information_schema.tables 
    where table_type = 'BASE TABLE' and table_schema = 'old_schema'; 
+0

これは1つのテーブルで動作しますが、28があり、SQLコードで実行したいと考えています。はいmatlabはそれを行うことができますが、私のGUIの構築は私に他の選択肢をもたらしないので、私はシーマが必要です。 – user1235288

+0

@ user1235288:私の編集をご覧ください。 –

+0

hmm ok thx、2つの同一のスキーマを同じテーブル名でマージすることは可能ですか? – user1235288

関連する問題