You executed the following SQL statements in the given order:
CREATE TABLE orders
(order_id NUMBER(3) PRIMARY KEY,
order_date DATE,
customer_id number(3));
INSERT INTO orders VALUES (100,’10-mar-2007′,222); ALTER TABLE orders MODIFY order_date NOT NULL;
UPDATE orders SET customer_id=333;
DELETE FROM order;
The DELETE statement results in the following error:
ERROR at line 1:
ORA-00942: table or view does not exist
What would be the outcome?
A.
All the statements before the DELETE statement would be rolled back.
B.
All the statements before the DELETE statement would be implicitly committed within the session.
C.
All the statements up to the ALTER TABLE statement would be committed and the outcome of UPDATE statement would be rolled back.
D.
All the statements up to the ALTER TABLE statement would be committed and the outcome of the UPDATE statement is retained uncommitted within the session.
I create the table ORDERS and try to delete the table ORDER (that not exists!);
Why is it not C? Why update statement will not be rolledback?
@miriam – the line of code “DELETE FROM order;” throws an error and at this point all un-commited transactions including the ‘Update’ statement are rolled back…
Thanks, Caz
In 12c , all statements are executed with no errors that it mentioned in question.
just to confirm the statement insert is commited implicitement because it’s DLL. So the response is D.
Pardon order with no letter ‘s’, so is correct for message table or view does not exists.