oracle查表字段长度,ORACLE 下如何得到表内的字段长度
select column_name 列名, type 列类型, nullable 允许为空, isindex 是否主键,comments 列注释from (select c.table_name,c.column_name,decode(data_type,'VARCHAR2',data_type || '(' || data_length || ')','CHAR',data_type ||
select column_name 列名, type 列类型, nullable 允许为空, isindex 是否主键,comments 列注释
from (select c.table_name,
c.column_name,
decode(data_type,
'VARCHAR2',
data_type || '(' || data_length || ')',
'CHAR',
data_type || '(' || data_length || ')',
'NUMBER',
data_type || '(' ||
decode(to_char(DATA_SCALE),
'0',
to_char(DATA_PRECISION),
DATA_PRECISION || ',' || DATA_SCALE) || ')',
data_type) type,
c.nullable,
d.comments,
(select MAX('Y')
from user_constraints g, user_cons_columns h
where g.constraint_name = h.constraint_name
and g.constraint_type='P'
and g.table_name = c.table_name
and h.column_name = d.column_name) isindex,
c.column_id
from user_tab_cols c, user_col_comments d
where c.column_name = d.column_name
and c.table_name = d.table_name
union all
select a.table_name,
'表:' || a.table_name || ' ' || b.comments,
null,
null,
null,
null,
-1
from user_tables a, user_tab_comments b
where a.table_name = b.table_name
union
select f.table_name,
'列名',
'列类型',
'允许为空',
'列注释',
'是否主键',
0
from user_tables f
union all
select g.table_name,
null,
null,
null,
null,
null,
999*h.levels
from user_tables g ,(select level as levels from dual connect by level<3) h) e
order by table_name, column_id;
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)