演習課題「レコードを複数追加しよう」
bookstore データベースの book テーブルに次のレコードを追加してください。
なお、既存の book_id の最大値は 1000 です。
期待する出力値
book_id | title | year | price | publisher_id |
---|---|---|---|---|
1001 | ぱいじょ!総集編1 | 2017 | 12.99 | 3 |
1002 | ぱいじょ!総集編2 | 2018 | 12.99 | 3 |
1003 | ぱいじょ!総集編3 | 2019 | 14.99 | 3 |
※有料会員になるとこの動画をご利用いただけます
詳しい説明を読む
#02:複数レコードを一度に追加する
このチャプターでは、テーブルに複数レコードを一度に追加する方法を学習します。
Oracle Database では、このチャプターで解説した SQL の構文が利用できません。
代わりに、INSERT ALL 句を使った次のような構文を使用します。
INSERT ALL
INTO テーブル名 (カラム1, カラム2, ...) VALUES (値1, 値2, ...)
INTO テーブル名 (カラム1, カラム2, ...) VALUES (値1, 値2, ...)
SELECT * FROM DUAL;
Oracle Database には `DUAL` というダミーテーブルが存在します。Oracle では FROM 句を省略できないため、どのテーブルからもレコードを SELECT しない場合に、`FROM DUAL` を記述します。
この構文を使用する場合、最後には必ず SELECT 句を記述しなければなりません。そのため、`SELECT * FROM DUAL` という実質的に意味のない SELECT 句を記述します。
また、この構文を使う場合、1度の INSERT 文の実行で、複数のテーブルにレコードを追加することができます。