文档章节

Oracle 查看表结构

反思酒店
 反思酒店
发布于 2017/08/23 14:14
字数 230
阅读 3
收藏 0

一直以来对,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

 

 

© 著作权归作者所有

共有 人打赏支持
反思酒店
粉丝 0
博文 3
码字总数 787
作品 0
佛山
私信 提问
MySQL查询表结构的SQL小结

mysql查看表结构命令,如下: desc 表名; show columns from 表名; describe 表名; show create table 表名; 示例: use testDB; #切换到testDB数据库 select * from columns where table_na......

MiniBu
2013/01/16
0
0
Oracle查看表空间大小以及修改表空间大小

Oracle查看表空间大小以及修改表空间大小 问题描述: 1.修改表空间大小 2.查看表空间大小及相关的sql。 一.修改表空间大小 解决以上问题的办法:通过增大表空间即可解决,如下: 使用dba用户...

huazhixu123
06/28
0
0
oracle简单运维

oracle简单运维 天使羊波波闪耀光芒2018-01-030 阅读 ORACLE oracle数据库磁盘满了,常用的处理方法: 1)清空无用的大表 2)删除日志 3)转移表空间文件 一、准备工作 0、切换到oracle用户 ...

天使羊波波闪耀光芒
01/03
0
0
学习oracle数据库的基本操作

1.建数据库 通过命令行输入dbca,在使用向导完成 2.建用户 create user testuser identified by testuser default tablespace test_space; grant connect,resource to testuser; grant dba t......

wankaiming
2011/03/01
0
0
Oracle 查看索引表空间

Oracle 查看表空间的使用情况或表空间的大小,应该如何实现呢?下面就为您介绍实现 Oracle 查看表空间方面的语句。 1、查看表空间的使用情况 Java代码 select sum(bytes)/(1024*1024) as fre...

小七_Dream
2015/09/21
844
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊我怎么系统学习Linux技能并快速提高的

聊聊我怎么系统学习Linux技能并快速提高的 随着电子信息科技时代的发展,学会使用计算机在我们的生活中成为了必不可少的一项技能。而作为计算机中的三大操作系统之一的Linux更是饱受计算机爱...

linuxCool
30分钟前
2
0
Android/Java 获取一个byte[]的真实编码,用于解决乱码问题

来源地址:https://blog.csdn.net/qq_31384551/article/details/81627840 一个byte数组,byte[] buf,是由一个字符串转换来的,如何判断字符串使用的是什么编码? Mozilla的一个组件提供了相应...

她叫我小渝
39分钟前
6
0
使用spring-retry实现重试机制

我们经常会遇到一些场景,需要重试当前的操作,比如:文件上传失败,重新上传;微信accesstoken获取失败,重新获取等等的场景问题。那么今天就说一种可以实现此种机制的工具包:spring-retr...

哥本哈根的小哥
41分钟前
0
0
kubernetes notes

Error from server (ServerTimeout): error when creating "mysql.yaml": No API token found for service account "default", retry after the token is automatically created and added t......

kut
今天
2
0
代理模式---静态代理

package com.atguigu.java; //接口的应用:代理模式---静态代理。 public class ProxyTest { public static void main(String[] args) { NetWork work = new RealServer(); ProxyServer pro......

architect刘源源
今天
2
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部