ORACLE DUAL TABLE;
SQL> SELECT LEVEL FROM DUAL CONNECT BY LEVEL < 4
SQL> SELECT COUNT(*) FROM DUAL;
COUNT(*)
----------
1
SQL> DELETE FROM DUAL;
DELETE FROM DUAL
*
ERROR at line 1:
ORA-01031: insufficient privileges
SQL> INSERT INTO DUAL VALUES ('X');
INSERT INTO DUAL VALUES ('X')
*
ERROR at line 1:ORA-01031: insufficient privileges
CONNECT SYS AS SYSDBA
SQL> INSERT INTO DUAL VALUES ('X');
SQL> COMMIT;
SQL> SELECT COUNT(*) FROM DUAL;
2
SQL> SELECT * FROM DUAL;
D
-
X
SQL> SELECT USER FROM DUAL;
USER
------------------------------
SYS
DUAL is owned by SYS. SYS owns the data dictionary, therefore DUAL is part of the data dictionary. Never update the dd table directly.
SQL> SELECT LEVEL FROM DUAL CONNECT BY LEVEL < 4
SQL> SELECT COUNT(*) FROM DUAL;
COUNT(*)
----------
1
SQL> DELETE FROM DUAL;
DELETE FROM DUAL
*
ERROR at line 1:
ORA-01031: insufficient privileges
SQL> INSERT INTO DUAL VALUES ('X');
INSERT INTO DUAL VALUES ('X')
*
ERROR at line 1:ORA-01031: insufficient privileges
CONNECT SYS AS SYSDBA
SQL> INSERT INTO DUAL VALUES ('X');
SQL> COMMIT;
SQL> SELECT COUNT(*) FROM DUAL;
2
SQL> SELECT * FROM DUAL;
D
-
X
SQL> SELECT USER FROM DUAL;
USER
------------------------------
SYS
DUAL is owned by SYS. SYS owns the data dictionary, therefore DUAL is part of the data dictionary. Never update the dd table directly.
No comments:
Post a Comment