Basic Oracle Concepts and Programming Question:
How To Insert Multiple Rows with One INSERT Statement in Oracle?
Answer:
If you want to insert multiple rows with a single INSERT statement, you can use a subquery instead of the VALUES clause. Rows returned from the subquery will be inserted the target table.
The following tutorial exercise gives a good example:
INSERT INTO ggl_links
SELECT department_id, department_name||'.com', NULL, NULL,
SYSDATE FROM departments WHERE department_id >= 250;
3 row created.
SELECT * FROM ggl_links;
<pre> ID URL NOTES COUNTS CREATED
----- ------------------------ -------- ------- ---------
101 http://www.globalguideline.com NULL 0 30-Apr-06
102 http://www.globalguideline.com NULL 0 07-MAY-06
103 http://ww.globalguideline.com NULL NULL 07-MAY-06
250 Retail Sales.com NULL NULL 07-MAY-06
260 Recruiting.com NULL NULL 07-MAY-06
270 Payroll.com NULL NULL 07-MAY-06</pre>
The following tutorial exercise gives a good example:
INSERT INTO ggl_links
SELECT department_id, department_name||'.com', NULL, NULL,
SYSDATE FROM departments WHERE department_id >= 250;
3 row created.
SELECT * FROM ggl_links;
<pre> ID URL NOTES COUNTS CREATED
----- ------------------------ -------- ------- ---------
101 http://www.globalguideline.com NULL 0 30-Apr-06
102 http://www.globalguideline.com NULL 0 07-MAY-06
103 http://ww.globalguideline.com NULL NULL 07-MAY-06
250 Retail Sales.com NULL NULL 07-MAY-06
260 Recruiting.com NULL NULL 07-MAY-06
270 Payroll.com NULL NULL 07-MAY-06</pre>
Previous Question | Next Question |
How To Omit Columns with Default Values in INSERT Statement in Oracle? | How To Update Values in a Table in Oracle? |