手机版
你好,游客 登录 注册
背景:
阅读新闻

Oracle查询数据库对象所属用户

[日期:2015-03-25] 来源:Linux社区  作者:Linux [字体: ]

Oracle查询数据库对象所属用户

--查询某用户下的表、视图
SELECT TABLE_NAME,OWNER,TABLE_TYPE FROM ALL_TAB_COMMENTS WHERE OWNER = 'VASS';

--查询某用户下的视图
SELECT VIEW_NAME,OWNER FROM ALL_VIEWS WHERE OWNER = 'VASS';

--查询某用下的索引
SELECT INDEX_NAME,OWNER,TABLE_NAME FROM ALL_INDEXES WHERE OWNER = 'VASS';

--查询某用户下的触发器
SELECT OWNER,OBJECT_NAME,OBJECT_TYPE FROM ALL_PROCEDURES
WHERE OWNER = 'VASS' AND OBJECT_TYPE = 'TRIGGER';
--或
SELECT TRIGGER_NAME FROM ALL_TRIGGERS WHERE OWNER = 'VASS';

--查询某用户下的函数
SELECT OWNER,OBJECT_NAME,OBJECT_TYPE FROM ALL_PROCEDURES
WHERE OWNER = 'VASS' AND OBJECT_TYPE = 'FUNCTION';

--查询某用户下的存储过程
SELECT OWNER,OBJECT_NAME,OBJECT_TYPE FROM ALL_PROCEDURES
WHERE OWNER = 'VASS' AND OBJECT_TYPE = 'PROCEDURE';
--或
SELECT PROCEDURE_NAME,OBJECT_NAME,OBJECT_TYPE FROM ALL_PROCEDURES WHERE OWNER = 'VASS';

--查询某用户下的序列
SELECT SEQUENCE_NAME,SEQUENCE_OWNER FROM ALL_SEQUENCES WHERE SEQUENCE_OWNER = 'VASS';

 

-- 查询所有用户的表,视图等
SELECT * FROM ALL_TAB_COMMENTS;


-- 查询本用户的表,视图等
SELECT * FROM USER_TAB_COMMENTS; 


--查询所有用户的表的列名和注释.
SELECT * FROM ALL_COL_COMMENTS;
 
-- 查询本用户的表的列名和注释
SELECT * FROM USER_COL_COMMENTS;


--查询所有用户的表的列名等信息(详细但是没有备注).
SELECT * FROM ALL_TAB_COLUMNS;


--查询本用户的表的列名等信息(详细但是没有备注).
SELECT * FROM USER_TAB_COLUMNS;
 
SELECT T.TABLE_NAME,T.COMMENTS FROM USER_TAB_COMMENTS T;


SELECT R1,R2,R3,R5
FROM (SELECT A.TABLE_NAME R1,A.COLUMN_NAME R2,A.COMMENTS R3 FROM USER_COL_COMMENTS A),
    (SELECT T.TABLE_NAME R4, T.COMMENTS R5 FROM USER_TAB_COMMENTS T)
WHERE R4 = R1;
 


--如何在ORACLE中查询所有用户表的表名、主键名称、索引、外键等
 
--1、查找表的所有索引(包括索引名,类型,构成列):
SELECT T.*,I.INDEX_TYPE FROM USER_IND_COLUMNS T,USER_INDEXES I
WHERE  T.INDEX_NAME = I.INDEX_NAME AND T.TABLE_NAME = I.TABLE_NAME AND T.TABLE_NAME = 'tablename'; 
--2、查找表的主键(包括名称,构成列):   
SELECT CU.* FROM USER_CONS_COLUMNS CU, USER_CONSTRAINTS AU
WHERE  CU.CONSTRAINT_NAME = AU.CONSTRAINT_NAME AND AU.CONSTRAINT_TYPE = 'P' AND AU.TABLE_NAME = 'tablename';
 
--3、查找表的唯一性约束(包括名称,构成列):
SELECT COLUMN_NAME FROM USER_CONS_COLUMNS CU, USER_CONSTRAINTS AU
WHERE CU.CONSTRAINT_NAME = AU.CONSTRAINT_NAME AND AU.CONSTRAINT_TYPE = 'U' AND AU.TABLE_NAME = 'tablename';
--4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询): 
SELECT * FROM USER_CONSTRAINTS C WHERE C.CONSTRAINT_TYPE = 'R' AND C.TABLE_NAME = 'tablename'; 
--查询外键约束的列名:
SELECT * FROM USER_CONS_COLUMNS CL WHERE CL.CONSTRAINT_NAME = 'pkname';
--查询引用表的键的列名:
SELECT * FROM USER_CONS_COLUMNS CL WHERE CL.CONSTRAINT_NAME = '外键引用表的键名';
--5、查询表的所有列及其属性   
SELECT T.*,C.COMMENTS FROM USER_TAB_COLUMNS T,USER_COL_COMMENTS C
WHERE T.TABLE_NAME = C.TABLE_NAME AND T.COLUMN_NAME = C.COLUMN_NAME AND T.TABLE_NAME = 'tablename';

更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12

本文永久更新链接地址http://www.linuxidc.com/Linux/2015-03/115470.htm

linux
相关资讯       Oracle数据库对象  Oracle查询 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款