如何取得系统表

milp 2002-07-10 09:06:37
select * from user_tables 得到很多系统自动产生的表,如何去除这些, 在线等待。
...全文
39 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
yhq2002 2003-03-21
  • 打赏
  • 举报
回复
上面的是得到所有包含系统的表,要是你就想得到用户建的表可以用
select table_name from user_tables;
yhq2002 2003-03-21
  • 打赏
  • 举报
回复
select table_name from dba_tables;
smallcrocodile 2003-03-21
  • 打赏
  • 举报
回复
select * from user_tables where owner = 'user1'
taozabc 2003-03-10
  • 打赏
  • 举报
回复
SELECT * FORM ALL_TABLES WHERE OWNER='SCOTT';
bzszp 2002-07-10
  • 打赏
  • 举报
回复
写错了LASE_..应为LAST_..
SELECT LAST_DDL_TIME FROM ALL_OBJECTS WHERE OWNER='USERNAME' AND OBJECT_TYPE = 'TABLE' AND OBJECT_NAME= 'EVT_OPERATORS';
然后
SELECT OBJECT_NAME FROM ALL_OBJECTS WHERE OWNER='USERNAME' AND OBJECT_TYPE = 'TABLE' AND
LAST_DDL_TIME > TO_DATE('99-03-01','YY-MM-DD');
bzszp 2002-07-10
  • 打赏
  • 举报
回复
先取出
SELECT LASE_DDL_TIME FROM ALL_OBJECTS WHERE OWNER='USERNAME' AND OBJECT_TYPE = 'TABLE' AND OBJECT_NAME= 'EVT_OPERATORS';
然后
SELECT OBJECT_NAME FROM ALL_OBJECTS WHERE OWNER='USERNAME' AND OBJECT_TYPE = 'TABLE' AND
LASE_DDL_TIME > TO_DATE('99-03-01','YY-MM-DD');
只要你没有对这些系统表进行改动,应该没问题,试试吧
milp 2002-07-10
  • 打赏
  • 举报
回复
不是啊,我是要得到该用户的所有表,但不需要这些系统表的。
jlandzpa 2002-07-10
  • 打赏
  • 举报
回复
小心别删错了!
milp 2002-07-10
  • 打赏
  • 举报
回复
EVT_CARRIER_CONFIGURATION TABLE
EVT_DEST_PROFILE TABLE
EVT_HISTORY TABLE
EVT_INSTANCE TABLE
EVT_MAIL_CONFIGURATION TABLE
EVT_MONITOR_NODE TABLE
EVT_NOTIFY_STATUS TABLE
EVT_OPERATORS TABLE

就象这些,好象是系统自动产生的,我不需要显示这些表。
zhoubf725 2002-07-10
  • 打赏
  • 举报
回复
select object_name from all_objects where object_type='TABLE';
bzszp 2002-07-10
  • 打赏
  • 举报
回复
select * from cat where TABLE_TYPE = 'TABLE';
察看某用户的表
3yugui 2002-07-10
  • 打赏
  • 举报
回复
select * from tab where tabtype='TABLE'
3yugui 2002-07-10
  • 打赏
  • 举报
回复
select * from tab where tabtype='VIEW'
bzszp 2002-07-10
  • 打赏
  • 举报
回复
这样试试
SELECT OBJECT_NAME FROM ALL_OBJECTS WHERE OWNER='USERNAME' AND OBJECT_TYPE = 'TABLE' AND
LAST_DDL_TIME <> TO_DATE('02-07-01','YY-MM-DD');

bjwan 2002-07-10
  • 打赏
  • 举报
回复
你所列出的表其实不是Oracle的系统字典表,而是Oracle的应用模块创建的表,你应该用专用的用户来创建这些表,则你在选取表名时加上owner的限制就可以去除这些表了。
milp 2002-07-10
  • 打赏
  • 举报
回复
非常感谢各位的解答,但还是没能达到目的。

SELECT OBJECT_NAME, LAST_DDL_TIME FROM ALL_OBJECTS WHERE OWNER='MILP' AND OBJECT_TYPE = 'TABLE' ;
的结果是:
...
EVT_OUTSTANDING 03-7月 -02
EVT_PROFILE 03-7月 -02
EVT_PROFILE_EVENTS 03-7月 -02
EVT_REGISTRY 03-7月 -02
EVT_REGISTRY_BACKLOG 03-7月 -02
MICROSOFTDTPROPERTIES 09-7月 -02
SMACTUALPARAMETER_S 03-7月 -02
SMAGENTJOB_S 03-7月 -02
SMARCHIVE_S 03-7月 -02
SMBREAKABLELINKS 03-7月 -02
.....


还是会出现这些表,ORACLE操作系统表比SQL SERVER麻烦多了。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧