永发信息网

oracle 全部数据库里所有字段存在于什么表

答案:2  悬赏:50  手机版
解决时间 2021-03-10 05:25
  • 提问者网友:椧運幽默
  • 2021-03-09 22:24
我现在有差不多俩百多张表,我现在想要做的是,把所有的字段名列出来,然后同时列出其全存在与哪些表里,
如:总共有A,B,C,D.....等字段,A字段在Z,X,V,N,M.....表里存在,B字段在Q,W,E,R,T,Y......表里存在
最佳答案
  • 五星知识达人网友:有你哪都是故乡
  • 2021-03-09 23:24
正好之前帮人写了个,不过列出的信息比你这个多,你运行试试吧
select a.owner 所属用户,a.table_name 表名,a.column_name 字段名,a.data_type 字段类型,a.字段长度,a.字段精度,a.是否为空,a.创建日期,a.最后修改日期, 
case when a.owner=d.owner and a.table_name=d.table_name and a.column_name=d.column_name then '主键' else '' end 是否主键 
from
(select a.owner,a.table_name,b.column_name,b.data_type,case when b.data_precision is null then b.data_length else data_precision end 字段长度,
data_scale 字段精度,
decode(nullable,'Y','√','N','×') 是否为空,c.created 创建日期,c.last_ddl_time 最后修改日期 
from all_tables a,all_tab_columns b,all_objects c 
where  a.table_name=b.table_name and a.owner=b.owner
and a.owner=c.owner
and a.table_name=c.object_name
and a.owner='SCOTT'--此处用户名可以更改,但必须大写英文
and c.object_type='TABLE') a
left join 
(select a.owner,a.table_name,a.column_name,a.constraint_name from user_cons_columns a, user_constraints b  
where a.constraint_name = b.constraint_name  and b.constraint_type = 'P') d
on a.owner=d.owner and a.table_name=d.table_name and a.column_name=d.column_name
order by a.owner,a.table_name;
全部回答
  • 1楼网友:玩家
  • 2021-03-10 01:02
会,比如 说增加了字段,你 insert into table values() 这样就出错了,因为你是全字段插入。但是其实你没有values。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯