演習課題「レコードを複数追加しよう」
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 文の実行で、複数のテーブルにレコードを追加することができます。