テーブル名変更時のエラー
テーブル定義を変えたい時はALTER TABLEを使用します。テーブル名を変更したい時は以下のようにします。
ALTER TABLE <変更前テーブル名> RENAME TO <変更後テーブル名>
やってみましょう。
SQL> ALTER TABLE WORK.TEST_TABLE RENAME TO WORK.TEST_TABLE1; ALTER TABLE WORK.TEST_TABLE RENAME TO WORK.TEST_TABLE1 * 行1でエラーが発生しました。: ORA-14047: ALTER TABLE|INDEX RENAMEは他の操作と結合できません
あれ?
「あれ?」じゃないですよ*1。テーブル名の変更なので、スキーマ内でしか通用しないってだけです。別スキーマのテーブル名を変えたい場合も、変更前だけ修飾して、変更後は名前だけ書けば良いのです。
SQL> ALTER TABLE WORK.TEST_TABLE RENAME TO TEST_TABLE1; 表が変更されました。
もしエラーになった書き方が許されるなら、スキーマ間のデータベースオブジェクトの移動が出来るということ。それならスキーマの整理も楽々だなーと思ったりもするのですが、データベースオブジェクトはスキーマと強く結びついているし、簡単にはいかないのでしょうね。