ORACLE MASTER Silver SQL 26ai表・制約・一時表とビューオリジナル・公式資料照合難易度★★★☆☆

Oracle AI Database 26aiで次の表を作成した。列qtyにNOT NULL制約はなく、他の制約・トリガーもない。次のA、Bをそれぞれ実行した場合の成否はどれか。 CREATE TABLE stock (qty NUMBER CHECK (qty > 0)); A: INSERT INTO stock(qty) VALUES(NULL); B: INSERT INTO stock(qty) VALUES(-1);

A
AもBもCHECK制約違反

CHECKの条件がUNKNOWNである行を、FALSEの行と同じに扱っています。NULLの禁止は明示されていません。

B
Aは成功、BはCHECK制約違反で失敗★ 正解

UNKNOWNとFALSEを区別した結果です。NULL禁止は示されたCHECKから自動では導かれません。

C
AもBも成功

-1は正数条件に反するため、CHECKにより拒否されます。

D
AはNOT NULL制約違反、Bは成功

NOT NULL制約はなく、Bはqty > 0がFALSEです。二つの条件の扱いが逆です。

解説

CHECKは条件がFALSEになる行を拒否します。NULL > 0はUNKNOWNなので、このCHECKだけではNULLを禁止しません。-1 > 0はFALSEで拒否されます。NULLも禁止したい場合はNOT NULL等の設計を別に行います。

根拠資料・確認情報

対応範囲:Oracle AI Database 26ai SQL Associate(1Z0-171-JPN)

資料確認日:2026-10-29

同じレッスンの問題

アプリで毎日学習しよう

ゲーミフィケーションで ORACLE MASTER Silver SQL 26ai 合格を目指す。無料・課金なし。

更新: 2026/10/28