162. View the Exhibit and examine the structure of the PRODUCTS, SALES, and SALE_SUMMARY
tables.
SALE_VW is a view created using the following command :
SQL>CREATE VIEW sale_vw AS
SELECT prod_id, SUM(quantity_sold) QTY_SOLD
FROM sales GROUP BY prod_id;
You issue the following command to add a row to the SALE_SUMMARY table :
SQL>INSERT INTO sale_summary
SELECT prod_id, prod_name, qty_sold FROM sale_vw JOIN products
USING (prod_id) WHERE prod_id = 16;
What is the outcome?
A. It executes successfully.
B. It gives an error because a complex view cannot be used to add data into the SALE_SUMMARY table.
C. It gives an error because the column names in the subquery and the SALE_SUMMARY table do not
match.
D. It gives an error because the number of columns to be inserted does not match with the number of
columns in the SALE_SUMMARY table.
Answer: D
答案解析:
参考:http://blog.csdn.net/rlhua/article/details/12885143
由于列的数量不匹配造成的,如果数量一致,会执行成功。
带有子查询的INSERT语句,勿使用VALUES子句,并且使INSERT子句中的列数与子查询中的列数匹配。