Oracle 查看表结构
2017-08-23 00:00
232 查看
一直以来对,PLSQL里的查看表结构念念,想通过SQL实现。但是默认值是Long类型,取不出字符。终于今天想到了一个方法。这个语句只能查询当前用户的表结构,可用于写文档时,直接复制到文档里。
CREATE OR REPLACE fUNCTION GET_Datadefault(in_table_name varchar,
in_column varchar2)
RETURN varchar AS
text_c1 varchar2(32767);
sql_cur varchar2(2000);
begin
sql_cur := 'select Data_default ' ||
' from user_tab_columns ' ||
' where column_name =' || chr(39) || in_column || chr(39) ||
' and Table_Name=' || chr(39) || in_table_name || chr(39);
dbms_output.put_line(sql_cur);
execute immediate sql_cur
into text_c1;
text_c1 := substr(text_c1, 1, 4000);
RETURN TEXT_C1;
END;
--查询表结构
select A.column_name 名称,
Case
When a.Data_Type = 'VARCHAR2' Then
'VARCHAR2(' || a.Data_Length || ')'
When a.Data_Type = 'NUMBER' and A.Data_Scale = 0 Then
'INTEGER'
When a.Data_Type = 'NUMBER' and A.data_precision > 0 Then
'NUMBER(' || a.data_precision || ',' || A.Data_Scale || ')'
Else
a.Data_Type
End 类型,
decode(A.nullable, 'Y', 'Y', '') 可为空,
GET_Datadefault(A.Table_Name, a.COLUMN_NAME) 默认,
B.comments 注释,
(Select 'Y'
From User_Constraints Con, User_Cons_Columns Col
Where Con.Constraint_Name = Col.Constraint_Name
And Con.Constraint_Type = 'P'
And Col.Column_Name = a.Column_Name
And Col.Table_Name = a.Table_Name) 主键
from user_tab_columns A, user_col_comments B
where a.COLUMN_NAME = b.column_name
and A.Table_Name = B.Table_Name
and A.Table_Name = 'FREIGHT_PRICE_RANGE'--表名
order by A.COLUMN_ID
CREATE OR REPLACE fUNCTION GET_Datadefault(in_table_name varchar,
in_column varchar2)
RETURN varchar AS
text_c1 varchar2(32767);
sql_cur varchar2(2000);
begin
sql_cur := 'select Data_default ' ||
' from user_tab_columns ' ||
' where column_name =' || chr(39) || in_column || chr(39) ||
' and Table_Name=' || chr(39) || in_table_name || chr(39);
dbms_output.put_line(sql_cur);
execute immediate sql_cur
into text_c1;
text_c1 := substr(text_c1, 1, 4000);
RETURN TEXT_C1;
END;
--查询表结构
select A.column_name 名称,
Case
When a.Data_Type = 'VARCHAR2' Then
'VARCHAR2(' || a.Data_Length || ')'
When a.Data_Type = 'NUMBER' and A.Data_Scale = 0 Then
'INTEGER'
When a.Data_Type = 'NUMBER' and A.data_precision > 0 Then
'NUMBER(' || a.data_precision || ',' || A.Data_Scale || ')'
Else
a.Data_Type
End 类型,
decode(A.nullable, 'Y', 'Y', '') 可为空,
GET_Datadefault(A.Table_Name, a.COLUMN_NAME) 默认,
B.comments 注释,
(Select 'Y'
From User_Constraints Con, User_Cons_Columns Col
Where Con.Constraint_Name = Col.Constraint_Name
And Con.Constraint_Type = 'P'
And Col.Column_Name = a.Column_Name
And Col.Table_Name = a.Table_Name) 主键
from user_tab_columns A, user_col_comments B
where a.COLUMN_NAME = b.column_name
and A.Table_Name = B.Table_Name
and A.Table_Name = 'FREIGHT_PRICE_RANGE'--表名
order by A.COLUMN_ID
相关文章推荐
- oracle 视图创建和操作,创建简单,复杂的视图,创建基表不存在的视图,视图增删改,查看视图的结构
- 如何查看Oracle中同义词的表结构
- Oracle 11g R2查看表的存储结构
- oracle中用sql语句查看表的列名及结构
- Oracle查看表结构命令详解
- oracle 视图创建和操作,创建简单,复杂的视图,创建基表不存在的视图,视图增删改,查看视图的结构
- Oracle常用查看表结构命令
- Oracle常用查看表结构命令
- Oracle查看表结构的几种方法示例代码
- Oracle三类数据字典视图的结构的查看以及其区别
- oracle 视图 创建 操作 简单 复杂 基表 不存在 增 删 改 插入 修改 删除 查看 结构
- Oracle常用的命令中如何查看表的结构
- Oracle 查看指定表的结构(字段,字段类型)
- oracle中查看当前用户的表结构、主键、索引
- 在ORACLE中通过EXP/IMP查看表的结构和约束(重现表的创建)
- Oracle常用查看表结构命令
- ORACLE查看某张表的表结构
- oracle查看表结构
- oracle 查看变量和表结构
- 如何在Oracle中复制表结构和表数据、查看有哪些表