This is a discussion on HELP why will the statement update all the order_date to Sysdate? within the Oracle Miscellaneous forums, part of the Oracle Database category; --> I am preparing for 1z0--047 now. There is one question I can not understand. View the Exhibit and examine ...
| |||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| I am preparing for 1z0--047 now. There is one question I can not understand. View the Exhibit and examine the structure of the ORDERS and ORDER_ITEMS tables. Orders NAME NULL? TYPE order_id not null number(12) order_date date customer_id number(6) order_total number(8,2) Order_Items NAME NULL? TYPE order_id not null number(3) product_id not null number(2) qty number(6,2) unit_price number(8,2) In the ORDERS table, ORDER_ID is the PRIMARY KEY and ORDER_DATE has the DEFAULT value as SYSDATE. Evaluate teh following statement: UPDATE orders SET order_date=DEFAULT WHERE order_id IN (SELECT order_id FROM order_items WHERE qty IS NULL); What would be the outcome of the above statement? A. The UPDATE statement would not work because the main query and the subquery use different tables. B. The UPDATE statement would not work because the DEFAULT value can be used only in INSERT statements. C. The UPDATE statement would change all ORDER_DATE values to SYSDATE provided the current ORDER_DATE is NOT NULL and QTY is NULL. D. The UPDATE statement would change all the ORDER_DATE values to SYSDATE irrespective of what the current ORDER_DATE value is for all orders where QTY is NULL. The answer is D. I don't get it. I tested this statement serveral times. the answer should be C ( at least C is the closest question) Please help, guys! |
| ||||
| "OracleDream" <fateuk.w@googlemail.com> schreef in bericht news:7efaef15-7bd3-448a-9489-3beea277c7a6@e39g2000hsf.googlegroups.com... >I am preparing for 1z0--047 now. There is one question I can not > understand. > > > View the Exhibit and examine the structure of the ORDERS and > ORDER_ITEMS tables. > > Orders > > NAME NULL? TYPE > order_id not null number(12) > order_date date > customer_id number(6) > order_total number(8,2) > > > Order_Items > > NAME NULL? TYPE > order_id not null number(3) > product_id not null number(2) > qty number(6,2) > unit_price number(8,2) > > > In the ORDERS table, ORDER_ID is the PRIMARY KEY and ORDER_DATE has > the DEFAULT value as SYSDATE. > > Evaluate teh following statement: > > UPDATE orders > SET order_date=DEFAULT > WHERE order_id IN (SELECT order_id FROM order_items > WHERE qty IS NULL); > > > What would be the outcome of the above statement? > > A. The UPDATE statement would not work because the main query and the > subquery use different tables. > B. The UPDATE statement would not work because the DEFAULT value can > be used only in INSERT statements. > C. The UPDATE statement would change all ORDER_DATE values to SYSDATE > provided the current > ORDER_DATE is NOT NULL and QTY is NULL. > D. The UPDATE statement would change all the ORDER_DATE values to > SYSDATE irrespective of what the > current ORDER_DATE value is for all orders where QTY is NULL. > > The answer is D. I don't get it. I tested this statement serveral > times. the answer should be C ( at least C is the closest question) > > > Please help, guys! Did you notice the NOT in >provided the current ORDER_DATE is NOT NULL ? With the DEFAULT clause, null values will be updated too, so C could NEVER be correct. I tested this on my db and D is correct: ALL records will be updated to sysdate. Shakespeare |