Literal object name using quotation marks ""


  • We create a new table.
SQL> create table "HR"."Test"  (cmp01 number(5), cmp02 varchar2(10) ) ;

Table created.

  • But apparently it doesn't exist.
SQL> select * from HR.Test;
select * from HR.Test
                 *
ERROR at line 1:


ORA-00942: table or view does not exist


  • Why doesn't my table exist if  i created it ???  
SQL> select table_name, owner from dba_tables where table_name ='TEST';

no rows selected

  • When you use quotation marks on object name, they will be case sensitive. 
SQL> select table_name, owner from dba_tables where table_name ='Test';

TABLE_NAME                     OWNER
------------------------------ ------------------------------
Test                           HR


  • For example, using quotation marks  you can create different object with same name:

SQL> create table "HR"."test"   (cmp01 number(5), cmp02 varchar2(10) ) ;

Table created.

SQL> create table "HR"."TEST"   (cmp01 number(5), cmp02 varchar2(10) ) ;

Table created.

SQL> select table_name, owner from dba_tables  where upper(table_name) ='TEST';

TABLE_NAME                     OWNER
------------------------------ ------------------------------
Test                           HR
TEST                           HR
test                           HR



thank for reading....


Comments