Multiple choice technology databases

What happens if we execute the below create table query at first time in a database with other than sys user and the user is having create table privileges: create table dual(a number);

  1. It throws error with message: table or view already exists

  2. Insufficient privileges

  3. Table will get created successfully

  4. None

Reveal answer Fill a bubble to check yourself
C Correct answer
Explanation

In Oracle, the dual table is a built-in table, but only exists by default for SYS user. Other users can create their own table named dual if they have CREATE TABLE privileges. There is no restriction preventing a non-SYS user from creating a table with this name in their own schema. The table will be created successfully on first execution.

AI explanation

In Oracle, table names are scoped to the owning schema, not global. SYS.DUAL is the well-known built-in pseudo-table, but a different user (with CREATE TABLE privilege) can create their own table literally named DUAL inside their own schema — it becomes .DUAL, a completely separate object from SYS.DUAL, so there's no naming conflict. The statement is created successfully. 'Table or view already exists' would only occur if this same user already had an object named DUAL in their own schema. 'Insufficient privileges' is ruled out by the question itself (user has CREATE TABLE privilege). So the correct answer is that the table is created successfully.