ORACLE MASTER Silver SQL 26ai制約・表・ビューの変更条件オリジナル・公式資料照合難易度
Oracle AI Database 26aiを使う。base_t(id NUMBER NOT NULL,name VARCHAR2(20))に対し、CREATE VIEW names_v AS SELECT name FROM base_tを作成した。idには既定値もidentityもなく、トリガーもない。INSERT INTO names_v VALUES('A')はどうなるか。
A
単純ビューなので無条件に成功する
更新可能性だけで必須列の条件を無視できない。
B
idに自動で1が採番されて成功する
identityやsequenceの既定式は定義されていない。
C
名前だけをビュー専用領域へ保存して成功する
通常ビューは独自の行データを保持しない。
D
基底表のidが満たせず失敗する★ 正解
基底表の制約はビュー経由でも適用される。
解説
ビューが単純でも基底表の必須列へ値を供給できなければINSERTできない。省略されたidはNULLとなりNOT NULLに反する。
根拠資料・確認情報
対応範囲:ORACLE MASTER Silver SQL 26ai(1Z0-171-JPN)
資料確認日:2026-11-02
アプリ内の初回回答データ
回答データを読み込んでいます。
同じレッスンの問題
問題 1
Oracle AI Database 26aiを使う。t(n NUMBER)にはNULLを含む行がある。ALTER TABLE t MODIFY n NOT NULLをそのまま実行するとどうなるか。既定の検証動作を使う。
問題 2
Oracle AI Database 26aiを使う。stock.qtyがlimits.max_qty以下であることを、別表limitsをSELECTする副問合せ入りのCHECKで定義したい。通常のCHECK制約の範囲として正しいものはどれか。
問題 3
Oracle AI Database 26aiを使う。CHECK(n>0)をENABLE NOVALIDATEで有効にした。既存行の検証は省略した。この後の新規INSERTでn=-1を指定したときはどうなるか。
問題 4
Oracle AI Database 26aiを使う。t(a,b)に対してCREATE VIEW v AS SELECT * FROM tを作成した後、tへ列cを追加した。vを再作成していない。SELECT * FROM vで返る列はどれか。