こんにちは!シミダイ(@shimidai2100)です。
Oracle Databaseのテーブルの削除SQLのポイントを紹介します。
Oracle Databaseのテーブル削除は「定義上は削除するがデータを残すか?」、
「データと定義をすべて削除するか?」と削除のパターンがいくつかあります。
この記事では初心者向けにテーブルを削除時の重要なポイントも合わせて紹介します。
この記事の内容
- テーブルの削除SQLの基本構文を紹介
- テーブルのデータと定義を完全に削除
- テーブルの制約も含めて削除
Contents
テーブルの削除SQL:drop table
まずはテーブル削除のSQL「drop table」を紹介したいと思います。
alter table文は、テーブル定義変更するコマンドになります。
テーブル後に変更ができないパラメータが多く存在するため作成SQLを間違えないようにしましょう。
1 |
drop table <スキーマ名>.<テーブル名>; |
下がサンプルSQLになります。
1 |
drop table TEST001.TAB001; |
テーブルの"データ"と定義を削除SQL:drop table ~ purge
テーブルのデータを完全に削除する際には「purge」句を使用します。
「purge」句を使用しないとデータは「RECYCLEBIN」(Windowsのゴミ箱)に格納されます。
※ただしRECYCLEBIN がOFFの場合は、purge句を付けなくてデータは完全に削除されます。
1 |
drop table <スキーマ名>.<テーブル名> purge; |
下がサンプルSQLになります。
1 |
drop table TEST001.TAB001 purge; |
テーブルの"制約"も合わせて削除SQL:drop table ~ cascade constraint
制約も合わせて削除する場合は、「cascade constraint」句を使用します。
特に外部キーが付与されているテーブルを削除する時には、「cascade constraint」句がないと削除できません。
1 |
drop table <スキーマ名>.<テーブル名> cascade constraint; |
下がサンプルSQLになります。
1 |
drop table TEST001.TAB001 cascade constraint; |
テーブルの”データ”も”定義”も”制約”も削除SQL:drop table ~ cascade constraint purge
テーブルの「データ」も「定義」も「制約」も削除すべて削除する場合には、
「cascade constraint」句と「purge」句を合わせて使用します。
1 |
drop table <スキーマ名>.<テーブル名> cascade constraint purge; |
下がサンプルSQLになります。
1 |
drop table TEST001.TAB001 cascade constraint purge; |
参考:しばちょう先生の試して納得!DBAへの道 第2回 表と表領域の関係