Oracle如何查询一个用户所创建的表 以及 如何查询一张表的主人

2025-12-05 23:42:45
推荐回答(3个)
回答1:

已知用户名 我如何知道该用户都有什么表有两种方式查看:
1、 dba身份:select table_name from dba_tables where owner='用户名';
2、用户本身身份:select * from user_tables;
已知表名 如何知道表的创建者
dba身份:select owner from dba_tables where table_name='表名';
可否将表转移到另一用户名下
回答:可以的,可以采用:
exp+imp expdp+impdp 或者CTAS 或者sqlplus的copy 或者传输表空间等等,方法太多了

回答2:

那个,上面的说的两个问题都是对的,注意table_name=''要求大写
另外关于你说的“可否将表转移到另一用户名下”,使用一般的ddl sql是无法实现的,目前我所知道的就是使用datapump工具的remap_schema关键字将表重新导入到另一个用户下,其他的如create table owner.table_name as select ...也可以完成此操作

回答3:

select * from user_tables 查询用户下的表

select owner from dba_tables where table_name='表名' 查询创建用户
至于把表转移到某个用户下,只要有dba权限的就可以授权给某个用户,网上你找一下如何授权,资料很多的