Why would the INSERT statement fail?

View the Exhibit and examine the structure of the ORDERS table. NEWJDRDERS is a new
table with the columns ORD_ID, ORD_DATE, CUST_ID, and ORD_TOTAL that have the
same data types and size as the corresponding columns in the ORDERS table. Evaluate
the following INSERT statement: INSERT INTO new_orders (ord_id, ord_date, cust_id,
ord_total) VALUES(SELECT order_id.order_date.customer_id.order_total FROM orders
WHERE order_date > ‘31- dec-1999’); Why would the INSERT statement fail?

View the Exhibit and examine the structure of the ORDERS table. NEWJDRDERS is a new
table with the columns ORD_ID, ORD_DATE, CUST_ID, and ORD_TOTAL that have the
same data types and size as the corresponding columns in the ORDERS table. Evaluate
the following INSERT statement: INSERT INTO new_orders (ord_id, ord_date, cust_id,
ord_total) VALUES(SELECT order_id.order_date.customer_id.order_total FROM orders
WHERE order_date > ‘31- dec-1999’); Why would the INSERT statement fail?

A.
because the VALUES clause cannot be used in an INSERT with a subquery

B.
because the WHERE clause cannot be used in a subquery embedded in an INSERT
statement

C.
because the total number of columns in the NEW ORDERS table does not match the
total number of columns in the ORDERS table

D.
because column names in NEW_ODRDERS and ORDERS tables do not match



Leave a Reply 2

Your email address will not be published. Required fields are marked *


Mandor

Mandor

Is this really the answer? Because I can do this in 11g:

INSERT INTO new_orders (ord_id, ord_date, cust_id, ord_total)
VALUES( (SELECT 1 from dual), (SELECT sysdate from dual), (SELECT 69 from dual), (SELECT 2000 from dual));

Ivan

Ivan

In your query you use a scalar subquery that allowed almost anywhere, but question about multiple-column subqueries that are cannot be used with ‘values’ keyword in the insert statement.