ORACLEMASTER 備忘録8(5/10)
続き
・列違い制約の基本構文
列名[CONSTRAINT 制約名] 制約
・表レベル制約の基本構文
[CONSTRAINT 制約名] 制約(列名[,列名…])
列のデータを変更するには“ALTER TABLE~MODIFY文”を使用する。
・列のデータ型の変更
ALTER TABLE 表名
MODIFY(列名 データ型[DEFFAUL 式]
[,列名 データ型[DEFFAUL 式]…]
);
NOT NULL制約以外の制約を追加するには、“ALTER TABLE~ADD文”を使用する。
・制約の追加
ALTER TABLE 表名 ADD 表レベル制約構文;
表の削除
表を削除すると、表内のすべてのデータに加えて、表に定義されている“制約”や“索引”、およびデータディクショナリに格納されている“表の定義情報”も削除される。一方、“表を参照するビュー”や“シノムニ”は削除されず、“無効”になる。
表を削除できるのは、“表の所有者”または“DROP ANY TABLE権限”を持つユーザーのみです。なお、削除した表はデフォルトでは“ゴミ箱”に入る。誤って削除したことに後で気づいた場合は、ゴミ箱からリカバリできることもある。
表の削除により実行される処理は次の通り。
・表の定義がデータディクショナリから削除される。
・表のすべての行が削除される。
・表に定義されているすべての索引が削除される。
・表を削除すると既定でゴミ箱に入る(ゴミ箱からリカバリ可能)
ビューは一つ以上の表またはほかのビュー内のデータをカスタマイズして表示するオブジェクト。シノムニは表やビューなどのスキーマオブジェクトの別名。
SQL Developerを使用した表の削除
SQL Developerを使用して表を削除するには、次の手順を実行する。
- 削除する表を右クリックして、「表」→「削除」をクリックする。
- 「削除」ウィンドウで、必要に応じて削除オプションを選択して、「適用」ボタンをクリックする。
カスケード制約:
チェックをつけると、参照整合性制約も同時に削除される。表内に別の列から参照される主キーがある場合、この項目にチェックをつけないと表は削除できない。
パージ:
表を削除後ゴミ箱に入れず、完全に削除する。
- 表が削除されたという確認メッセージが表示される。
SQL文を使用した表の削除
SQL文を使用して既存の表を削除するにはDROP TABLE文を使用する。この時、表をゴミ箱に入れないで完全に削除するにはPURGE句を指定する。PURGE句を指定せずにDROP TABLE文を実行すると、表はゴミ箱に移動する。ゴミ箱に入れられた表は“フラッシュアンドドロップ機能”で復活させることができる。