如何知道给定标识符是存储过程还是表或视图

时间:2017-03-31 09:44:40

标签: sql oracle toad

无论如何要知道给定的标识符是oracle中的表或视图还是过程等等?

示例:我有一个标识符" PICKUPON",我想知道该标识符的对象类型。我花了几分钟就知道它是通过在Toad的Schema浏览器中浏览的程序。是否有任何查询来完成这项工作。

3 个答案:

答案 0 :(得分:1)

在Oracle中,您具有系统视图ALL_OBJECTS,DBA_OBJECTS,USER_OBJECTS,使您可以查询数据库模式。

您可以像表一样查询它们,如

SELECT OBJECT_TYPE FROM ALL_OBJECTS where OBJECT_NAME = '...'

请注意,树视图略有不同,结果取决于用户数据库用户的权限:

  • USER_OBJECTS显示当前用户对象。
  • ALL_OBJECTS显示当前的所有对象以及您有权访问的对象。
  • DBA_OBJECTS显示所有用户的所有对象。

答案 1 :(得分:0)

我没有Oracle数据库可以使用,但您可以使用此中的OBJECT_TYPE列吗?

https://docs.oracle.com/cd/B19306_01/server.102/b14237/statviews_2005.htm#i1583352

答案 2 :(得分:0)

您可以查看all_objects并查看object_type列,如

select *
  from all_objects 
 where object_name like '%PICKUPON%'