今回は、Silverの「開発/SQL - SQLコマンド(ビュー)」からの出題です。
※この例題は実際のOSS-DB技術者認定試験とは異なります。
例題公開日:2016年5月16日
ルールを使用すると、テーブルやビューに対するINSERT/UPDATE/DELETEが実行された時に、その代わりに、あるいはその追加として別のコマンドを実行することができます。
上記のCREATE RULEは”INSERT INTO foo”が実行された時に、代わりに”INSERT INTO bar”を実行するものですが、このとき、VALUES句で指定した値をルール内で参照する仕組みが必要になります。このために特別なテーブル名NEWを使用することができ、barへのINSERTのVALUES句でNEW.nと指定することで、fooのn列に挿入しようとしていた値を参照することになります。
同じように、ON UPDATEやON DELETEのルールでは、OLDという特別なテーブル名を使用して、更新あるいは削除されようとしている行の既存のデータを参照することもできます。
従って、正解は NEW です。大文字・小文字は区別しないので new でも正解です。
今回の解説について、理解できないポイントがあればどんどん質問をお寄せ下さい。
採用になった方にはLPI-Japanオリジナルの記念品を贈呈します。
※試験問題に関わるお問い合わせにつきましては、LPI-Japan事務局ではお応えできませんのでご了解ください。
© EDUCO All Rights Reserved.