Oracle テーブル名を変更するSQL 「RENAME」文

スポンサーリンク
スポンサーリンク

テーブル名を変更する 「RENAME」文

RENAME文を使用するとテーブル名を変更することができます。
テーブル以外にもビューや順序、シノニムの名前も変更可能です。

古いオブジェクトの整合性制約、インデックスや権限については、新しいオブジェクトに自動的に移行されます。

「RENAME」文を使用する際に注意することが以下になります。

  1. ロールバックができません!!
  2. 名前を変更したオブジェクトに依存するオブジェクトはすべて無効になってしまいます。

「RENAME」文の構文

以下が、「RENAME」の基本的な構文です。

RENAME old_name TO new_name ;
変数 説明
old_name 既存の表、ビュー、順序またはプライベート・シノニムの名前を指定します。
new_name 変更後の名前を指定します。

「RENAME」文の実行例

変更前のテーブルの存在を「user_tables」でSELECTして確認します。

SQL> select table_name from user_tables where table_name = 'ANIMAL1';

TABLE_NAME
------------------------------
ANIMAL1

ちゃんと存在しますね\(^o^)/
それでは「RENAME」文を発行してみましょう。

SQL> RENAME animal1 TO animal2 ;

表名が変更されました。

ちゃんと変更されたか「user_tables」で確認してみましょう。

SQL> select table_name from user_tables where table_name = 'ANIMAL1';

レコードが選択されませんでした。

SQL> select table_name from user_tables where table_name = 'ANIMAL2';

TABLE_NAME
------------------------------
ANIMAL2

はい!変更確認ができました\(^o^)/ロールバックできないので「RENAME」文を発行する際は、気をつけてください!

コメント

タイトルとURLをコピーしました