原帖由 ccsnmoracle 于 2010-11-16 16:35 发表
DBMS_ASSERT.SCHEMA_NAME
DBMS_ASSERT.SQL_OBJECT_NAME
这是两个方法。
dbms_assert.sql_object_name是个好方法,
但是对目录对象却是无效
SQL> show user
USER is "SCOTT"
SQL> select object_name,object_type,owner from dba_objects where object_name='SST_DIR';
OBJECT_NAME
OBJECT_TYPE OWNER
-------------------- ------------------- ----------
SST_DIR
DIRECTORY
SYS
SQL> select DBMS_ASSERT.SQL_OBJECT_NAME('SST_DIR') from dual;
select DBMS_ASSERT.SQL_OBJECT_NAME('SST_DIR') from dual
*
ERROR at line 1:
ORA-44002: invalid object name
ORA-06512: at "SYS.DBMS_ASSERT", line 283
SQL> conn / as sysdba
Connected.
SQL> show user
USER is "SYS"
SQL> select DBMS_ASSERT.SQL_OBJECT_NAME('SST_DIR') from dual;
select DBMS_ASSERT.SQL_OBJECT_NAME('SST_DIR') from dual
*
ERROR at line 1:
ORA-44002: invalid object name
ORA-06512: at "SYS.DBMS_ASSERT", line 283
SQL> conn scott/tiger
Connected.
SQL> drop directory SST_DIR;
Directory dropped.
其他对象都可以,就是dir对象不可 |