From: OracleDream on
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!
From: Shakespeare on

"OracleDream" <fateuk.w(a)googlemail.com> schreef in bericht
news:7efaef15-7bd3-448a-9489-3beea277c7a6(a)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