【Oracle】テーブルのカラムを削除するSQL

Oracleのカラム(列)の削除について。

この記事の内容はコチラです

  • カラム(列)を削除したい
  • ALTER TABLE~DROP~の使い方

今回は、Oracleのテーブルのカラム(列)を削除について紹介します!

Oracleのテーブルの列を削除するSQL

Oracleのテーブルは作成後でもテーブルの列を削除できます。

構文

テーブルの列を削除するには「ALTER TABLE~DROP~」を使います。

-- テーブルの列の削除
ALTER TABLE {テーブル} DROP ({列名}) CASCADE CONSTRAINTS;

「CASCADE CONSTRAINTS」は制約ごと削除するオプションです。制約があって削除できない場合につけます。

例1. Oracleのテーブルのカラムを1つ削除する

-- 列pnoを削除
ALTER TABLE table1 DROP (pno) CASCADE CONSTRAINTS;

ここでは「ALTER TABLE~DROP~」を使って、テーブル「table1」の「pno」を削除しました。

例2. Oracleのテーブルの複数カラムを削除する

-- 2つの列(pno,memo)を削除
ALTER TABLE table1 DROP (pno,memo);

ここでは「ALTER TABLE~DROP~」を使って、テーブル「table1」の「pno」と「memo」の2列を削除しました。

参照:表の列の削除 – Oracle Database管理者ガイド

以上、Oracleのテーブルのカラム(列)を削除するSQL「ALTER TABLE~DROP~」でした。

コメント

  1. shota より:

    以下のサンプルの「)」の位置がちょっと違いますよ~
    ALTER TABLE {テーブル} DROP ({列名} CASCADE CONSTRAINTS);
    正しくは以下ですね。
    ALTER TABLE {テーブル} DROP ({列名}) CASCADE CONSTRAINTS;

    • Oracleマスター より:

      ご指摘ありがとうございます。修正しました!