View the exhibit and examine the description for the SALES and CHANNELS tables.
You issued the following SQL statement to insert a row in the SALES table:
INSERT INTO sales VALUES
(23, 2300, SYSDATE, (SELECT channel_id
FROM channels
WHERE channel_desc=’Direct Sales’), 12, 1, 500);
Which statement is true regarding the execution of the above statement?
A.
The statement will execute and the new row will be inserted in the SALES table.
B.
The statement will fail because subquery cannot be used in the VALUES clause.
C.
The statement will fail because the VALUES clause is not required with subquery.
D.
The statement will fail because subquery in the VALUES clause is not enclosed with in single
quotation marks.
If I’m not wrong there is a mistake. It would be correct without 500.
Wrong
INSERT INTO sales VALUES
(23, 2300, SYSDATE, (SELECT channel_id
FROM channels
WHERE channel_desc=’Direct Sales’), 12, 1, 500);
Correct
INSERT INTO sales VALUES
(23, 2300, SYSDATE, (SELECT channel_id
FROM channels
WHERE channel_desc=’Direct Sales’), 12, 1);
i think Indignato is right, it will return SQL Error: ORA-00913: too many values
I agree there are too many values to insert.
Oracle sample SH schema includes missing last column amount_sold in SALES.
With channel_desc column data in CHANNELS being unique, the INSERT actually worked for me.
is that possible using subquery in value clause???
please answer me