CASCADE CONSTRAINTSオプション使用時の子表の値について教えてください。
例
子表 親表
NAME NUM NO ADRESS
---------- --------------
AAA 10 10 DDD
BBB 20 20 EEE
CCC NULL
子表のNUM列が、親表のNO列を参照。
DROP TABLE 親表 CASCADE CONSTRAINTS;
を実行すると親表が削除されますが、子表はどうなるのでしょうか。
いろいろ調べてみましたが、はっきりしません。
1.制約だけが削除されて、値は変わらない。
2.参照していた行が削除される。NULLの行は残る?
3.参照していた列が削除される。
4.その他
以上、よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
>1.制約だけが削除されて、値は変わらない。
子表の制約も削除されますが、子表のデータは残ります。
試してみましょう。
SQL> create table oya_table
2 (
3 col1 number PRIMARY KEY
4 );
表が作成されました。
SQL>
SQL>
SQL> create table ko_table
2 (
3 col1 number PRIMARY KEY
4 );
表が作成されました。
SQL>
SQL> ALTER TABLE ko_table
2 ADD CONSTRAINT fk_ko_table
3 FOREIGN KEY (col1)
4 REFERENCES oya_table(col1);
表が変更されました。
SQL>
SQL>
SQL>
SQL> insert into oya_table values(1);
1行が作成されました。
SQL> insert into oya_table values(2);
1行が作成されました。
SQL>
SQL> insert into ko_table values(3);
insert into ko_table values(3)
*
行1でエラーが発生しました。:
ORA-02291: 整合性制約(SYS.FK_KO_TABLE)に違反しました - 親キーがありません
SQL> insert into ko_table values(1);
1行が作成されました。
SQL>
SQL> commit;
コミットが完了しました。
SQL>
SQL> select * from oya_table;
COL1
----------
1
2
SQL> select * from ko_table;
COL1
----------
1
SQL>
SQL> drop table oya_table cascade constraint;
表が削除されました。
SQL> select * from ko_table;
COL1
----------
1
SQL> insert into ko_table values(3);
1行が作成されました。
SQL> select * from ko_table;
COL1
----------
1
3
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- Visual Basic(VBA) ACCESS DAO で不要なテーブルのフィールド(列)の削除 4 2022/06/23 12:13
- Excel(エクセル) エクセル関数のスペシャリストの方、教えてください。 写真のように A列にはデータ C列にはデータの中 7 2022/04/09 00:15
- Visual Basic(VBA) vba エクセルマクロのことで教えてください。 A1 123 A2 234 A3 345 A4 45 1 2023/01/28 21:21
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/12 10:10
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・2024年に成し遂げたこと
- ・3分あったら何をしますか?
- ・何歳が一番楽しかった?
- ・治せない「クセ」を教えてください
- ・【大喜利】看板の文字を埋めてください
- ・【大喜利】【投稿~12/17】 ありそうだけど絶対に無いことわざ
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・【穴埋めお題】恐竜の新説
- ・我がまちの「給食」自慢を聞かせてっ!
- ・冬の健康法を教えて!
- ・一番好きな「クリスマスソング」は?
- ・集合写真、どこに映る?
- ・自分の通っていた小学校のあるある
- ・フォントについて教えてください!
- ・これが怖いの自分だけ?というものありますか?
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・10代と話して驚いたこと
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CLOB型へのINSERT
-
テーブル名を[]でくくらないと...
-
count(1)とcount(*)の違い
-
コンポジット型の変数?
-
Oracle テーブルの列削除
-
SQLのto_char関数の未定義エラー
-
1つのテーブル・2つの列を結合...
-
Oracle複数の表をもとにmerge文...
-
主キーが二つのテーブルのselec...
-
Viewにインデックスは張れ...
-
データを削除しても表領域の使...
-
Data Pump で大量データインポ...
-
異なるスキーマからデータを抽...
-
oracleのimpdpでORA-39166
-
INDEXの無効化
-
テーブルからのselectにおいて...
-
ORA-00959: 表領域'****'は...
-
ACCESS 複数テーブル・複数フィ...
-
検索結果の列数を動的に変更したい
-
select insert 句
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CLOB型へのINSERT
-
truncate文で全テーブルを一気...
-
oracleのプライマリ・キー名の変更
-
テーブル名を[]でくくらないと...
-
count(1)とcount(*)の違い
-
Oracle複数の表をもとにmerge文...
-
コンポジット型の変数?
-
Oracle テーブルの列削除
-
主キーが二つのテーブルのselec...
-
oracle sqlで先頭の1件を取得
-
1つのテーブル・2つの列を結合...
-
SQLのto_char関数の未定義エラー
-
複数テーブルのUPDATE
-
CASCADE CONSTRAINTSについて
-
sqlplusで実行したSQLの結果を...
-
Oracle上のテーブルからCREATE ...
-
DBに新しいTBLを作成した際の初...
-
グループの数を取得したい
-
SQL*Loaderをダイレクトモード...
-
SQLiteから制約条件の取得
おすすめ情報