如何知道给定的标识符是存储过程还是 Table 或视图
How to know wheter the given identifier is Stored procedure or Table or View
有没有办法知道给定的标识符是 table 还是视图或过程等...在 oracle 中?
例子:我有一个标识符"PICKUPON",我想知道这个标识符的对象类型。通过在 Toad 的 Schema 浏览器中浏览,我花了几分钟才知道这是一个过程。是否有任何问题可以完成这项工作。
我没有可使用的 Oracle 数据库,但您可以使用其中的 OBJECT_TYPE 列吗?
https://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_2005.htm#i1583352
您可以检查 all_objects
并在 object_type
列中查看
select *
from all_objects
where object_name like '%PICKUPON%'
在 Oracle 中,您可以使用系统视图 ALL_OBJECTS、DBA_OBJECTS、USER_OBJECTS 来查询数据库架构。
您可以像 table 一样查询它们,如
SELECT OBJECT_TYPE FROM ALL_OBJECTS where OBJECT_NAME = '...'
请注意,树视图略有不同,结果取决于用户数据库用户的权限:
- USER_OBJECTS 显示当前用户对象。
- ALL_OBJECTS显示当前所有对象和您有权访问的对象。
- DBA_OBJECTS 显示所有用户的所有对象。
有没有办法知道给定的标识符是 table 还是视图或过程等...在 oracle 中?
例子:我有一个标识符"PICKUPON",我想知道这个标识符的对象类型。通过在 Toad 的 Schema 浏览器中浏览,我花了几分钟才知道这是一个过程。是否有任何问题可以完成这项工作。
我没有可使用的 Oracle 数据库,但您可以使用其中的 OBJECT_TYPE 列吗?
https://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_2005.htm#i1583352
您可以检查 all_objects
并在 object_type
列中查看
select *
from all_objects
where object_name like '%PICKUPON%'
在 Oracle 中,您可以使用系统视图 ALL_OBJECTS、DBA_OBJECTS、USER_OBJECTS 来查询数据库架构。
您可以像 table 一样查询它们,如
SELECT OBJECT_TYPE FROM ALL_OBJECTS where OBJECT_NAME = '...'
请注意,树视图略有不同,结果取决于用户数据库用户的权限:
- USER_OBJECTS 显示当前用户对象。
- ALL_OBJECTS显示当前所有对象和您有权访问的对象。
- DBA_OBJECTS 显示所有用户的所有对象。