oracle 怎样查询某用户下的所有表的表名
ORACLE下有三个视图
DBA_TABLES 拥有DBA角色的用户可以查看系统中的所有表
USER_TABLES 登录数据库的当前用户拥有的所有表
ALL_TABLES 登录数据库的当前用户有权限查看的所有表
类似的,除了表,还有视图、存储过程、同义词等等对象,使用[DBA|USER|ALL]_TABLES可以查看到你想要的对象
select table_name from user_tables; //当前用户拥有的表
select table_name from all_tables; //所有用户的表
select table_name from dba_tables; //包括系统表
select table_name from dba_tables where owner='用户名'
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 --查询本用户的表的列名等信息。
扩展资料
ORACLE下有三个视图
DBA_TABLES 拥有DBA角色的用户可以查看系统中的所有表
USER_TABLES 登录数据库的当前用户拥有的所有表
ALL_TABLES 登录数据库的当前用户有权限查看的所有表
参考资料:百度百科-Oracle
如果是用该用户登录使用以下语句:
SELECT *
FROM USER_TABLES;
如果是用其他用户(在dba权限下):
SELECT *
FROM ALL_TABLES WHERE OWNER='USER_NAME'
扩展资料:
1、查询“c001”课程比“c002”课程成绩高的所有学生的学号;
select * from sc a
where a.cno='c001'
and exists(select * from sc b where b.cno='c002' and a.score>b.score
and a.sno = b.sno)
2、查询平均成绩大于60 分的同学的学号和平均成绩;
select sno,avg(score) from sc group by sno having avg(score)>60;
3、查询所有同学的学号、姓名、选课数、总成绩;
select a.*,s.sname from (select sno,sum(score),count(cno) from sc group by sno) a ,student s where a.sno=s.sno
4、查询姓“刘”的老师的个数;
select count(*) from teacher where tname like '刘%';
ORACLE下有三个视图
select table_name from user_tables; //当前用户拥有的表
select table_name from all_tables; //所有用户的表
select table_name from dba_tables; //包括系统表
select table_name from dba_tables where owner='用户名'
类似的,除了表,还有视图、存储过程、同义词等等对象,使用[DBA|USER|ALL]_TABLES可以查看到你想要的对象
扩展资料:
当创建视图后,ORACLE将会验证视图的有效性,如修改了基本表,则会导致视图的无效状态.可查询数据字典user_objects的status.
1、创建表T,包含ID和NAME两列;
2、使用该表创建一个视图t_view,查看该表所有信息;
3、使用该表创建一个视图t_view2,查看该表的ID和NAME列
4、查看该视图状态;
5、在表T上增加一列性别sex,重新查看视图t_view的状态.
6、在表T上删除列NAME,重新查看视图t_view2的状态.
注:VALID表示正常状态,invalid表示非正常状态
参考资料:Oracle视图-百度百科
ORACLE下有三个视图
DBA_TABLES 拥有DBA角色的用户可以查看系统中的所有表
USER_TABLES 登录数据库的当前用户拥有的所有表
ALL_TABLES 登录数据库的当前用户有权限查看的所有表
类似的,除了表,还有视图、存储过程、同义词等等对象,使用[DBA|USER|ALL]_TABLES可以查看到你想要的对象
-- connect xx/xx 切换到这个用户
select * from tab;
宣睿:查看当前用户的缺省表空间 select username,default_tablespace from user_users 查看当前用户的角色 select * from user_role_privs 查看当前用户的系统权限和表级权限 select * from user_sys_privs select * from user_tab_privs 查看用户下所有的表 select * from user_tables ...
宣睿:select * from user_tab_columns --查询本用户的表的列名等信息。
宣睿:一.第一种方法,在dba 用户下创建基于dba_tables的视图;1.create view V_A_tables as select * from dba_tables where owner='A';2.grant select on V_A_tables to B;3. 进入用户B, select * from sys.V_A_tables ;二. 第二种方法是在A用户下创建视图并赋权限;如有疑问,请...
宣睿:如果是用该用户登录使用以下语句: SELECT * FROM USER_TABLES; 如果是用其他用户(在dba权限下): SELECT * FROM ALL_TABLES WHERE OWNER='USER_NAME' 扩展资料: 1、查询“c001”课程比“c002”课程成绩高的所有学生的学号;select * from sc awhere a.cno='c001'and exists(select * from sc b where b.c...
宣睿:select * from 用户名.表名 where id=1当然如果查询的是你所在的用户下的表就可以省略用户名,如果要查询的不是你所在用户下的表,首先要确认你有该用户下查询该表的权限,如果没有,请向管理员联系了。 已赞过 已踩过< 你对这个回答的评价是? 评论 收起 红枫叶7878 2019-01-06 · TA获得超过202个赞...
宣睿:1、首先在计算机中,打开Oracle的连接程序,用新建的数据库管理员,进入【Oracle控制】的窗口上,鼠标左键单击【服务器】按钮,并选择【SQL工作表】。2、接着,在【Oracle服务器】的窗口上,在输入窗口中输入SQL查询语句,并单击【执行】按钮,可以看到查询不到索引表,需要调整SQL语句。3、然后,在【...
宣睿:一个用户下面所有的存储过程:如果有DBA权限 select * from DBA_objects where object_type='PROCEDURE' and owner='user_name'否则就all_objects 一个表空间下所有的存储过程:这个应该没有意义
宣睿:查看用户下的表空间的语句:select a.tablespace_name, a.bytes \/ 1024 \/ 1024 "sum MB", (a.bytes - b.bytes) \/ 1024 \/ 1024 "used MB", b.bytes \/ 1024 \/ 1024 "free MB", ...
宣睿:1、首先我们开启Oracle管理工具,找到Tablespaces。2、首先要看的是表空间的总大小和使用状况以及当前状态。3、Free Space 里面是各个表中的相关大小信息(一个表空间可能有多个表在使用)。4、Objects 就如第三步中所提到的使用这个表空间的表明细。5、Script 是创建表空间的PL\/SQL,我们可以去了解它的...
宣睿:select * from dba_tab_privs where grantee='user_name'--查看该用户下所有视图信息 select * from dba_dependencies where referenced_name='table_name'--查看该表创建了哪些视图