`
jy00509336
  • 浏览: 242590 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

获取oracle数据字段信息(字段名,字段类型,字段长度,数字精度,是否为空)

 
阅读更多

转自:http://blog.163.com/chenyao_2000/blog/static/128010930201162521123653/

***
  * 获取oracle数据字段信息(字段名,字段类型,字段长度,数字精度,是否为空)
  * @param con
  * @param table  表名
  * @return   
  */
 public static Map<String,List<String>> getOracleColumn_info(Connection con,String table){
  String sql="select COLUMN_NAME,DATA_TYPE,DATA_LENGTH,DATA_PRECISION,DATA_SCALE,NULLABLE from user_tab_columns where table_name =UPPER('"+table+"')";
  Statement st = null;
  Map<String,List<String>> map = new LinkedHashMap<String, List<String>>();
  try{
   st = con.createStatement();
   ResultSet rs = st.executeQuery(sql);
   List<String> val = null;
   while(rs.next()){
    val = new ArrayList<String>();
    String key = rs.getString("COLUMN_NAME");  //获取字段名
    val.add(rs.getString("DATA_TYPE"));  //获取数据类型
    val.add(rs.getString("DATA_LENGTH"));  //获取数据长度
    val.add(rs.getString("DATA_PRECISION"));  //获取数据长度
    val.add(rs.getString("DATA_SCALE"));  //获取数据精度
    val.add(rs.getString("NULLABLE"));  //获取是否为空
    map.put(key, val);
   }
  }catch (Exception e) {
   e.printStackTrace();
   // TODO: handle exception
  }
  return map;
 }
 
 
 /***
  *  获取sql数据字段信息(字段名,字段类型,字段长度,数字精度,是否为空)
  * @param con
  * @param table
  * @return
  */
 public static Map<String,List<String>> getSQLColumn_info(Connection con,String table){
  String sql="SELECT syscolumns.name  COLUMN_NAME,systypes.name  DATA_TYPE,syscolumns.length ,syscolumns.prec, syscolumns.scale ,syscolumns.isnullable FROM syscolumns, systypes WHERE syscolumns.xusertype = systypes.xusertype  AND syscolumns.id = object_id('"+table+"')";
  Statement st = null;
  Map<String,List<String>> map = new LinkedHashMap<String, List<String>>();
  try{
   st = con.createStatement();
   ResultSet rs = st.executeQuery(sql);
   List<String> val = null;
   while(rs.next()){
    val = new ArrayList<String>();
    String key = rs.getString("COLUMN_NAME");  //获取字段名
    val.add(rs.getString("DATA_TYPE"));  //获取数据类型
    val.add(rs.getString("length"));  //获取数据长度
    val.add(rs.getString("prec"));  //获取数据长度
    val.add(rs.getString("scale"));  //获取数据精度
    val.add(rs.getString("isnullable"));  //获取是否为空
    map.put(key, val);
   }
  }catch (Exception e) {
   e.printStackTrace();
   // TODO: handle exception
  }
  return map;
 }

分享到:
评论

相关推荐

    Oracle查询指定表的所有字段名和数据类型SQL

    NAME)、数据类型(DATA_TYPE)、数据长度(DATA_LENGTH)、数据精度(DATA_PRECISION)、数据比例尺(DATA_SCALE)、是否允许为空(NULLABLE)及默认值(DATA_DEFAULT),还有来自用户定义的列注释表中的注释信息...

    提取Oracle字段信息(包括字段名,数据类型,备注)并写入word表格

    这个视图包含了表名、列名、数据类型、长度、精度、默认值、是否允许为空以及备注等字段。例如,以下SQL查询可以获取特定表的所有字段信息: ```sql SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH, ...

    oracle非数字合计,将字段中含有汉子的数据自动转换为 数字0

    根据提供的文件信息,本文将详细介绍如何实现“oracle非数字合计”,即将字段中含有汉字或其他非数字字符的数据自动转换为数字0的过程。 ### 一、问题背景 在实际工作中,可能会遇到这样的情况:某个字段中本应...

    判断blob字段是否为空

    在实际应用中,判断BLOB字段是否为空对于数据完整性检查、避免无效查询以及优化数据库性能等方面具有重要意义。例如,在上传文件到数据库前,确保数据不为空可以防止存储无用的空文件;在检索数据时,检查BLOB字段...

    oracle数据库字段值自动加1

    在本示例中,我们创建一个名为 TR_EXCELFILE_LINE 的触发器,用于在插入数据时自动将 F_ID 字段值加 1。 创建触发器的 SQL 语句如下: ``` CREATE OR REPLACE TRIGGER TR_EXCELFILE_LINE BEFORE INSERT ON T_EXCEL...

    Oracle 增加修改删除字段

    修改字段通常包括改变字段的数据类型、默认值、是否允许为空等属性。语法如下: ```sql ALTER TABLE 表名 MODIFY (字段名 数据类型 [默认值] [NULL/NOT NULL]); ``` **示例**:修改`test1`表中的`name`字段,将其...

    oracle字段类型转换的处理

    这个示例假设`switchType.txt`的格式是:`字段名,当前类型,目标类型`,并使用`ALTER TABLE`语句直接修改表结构。在实际使用中,你需要根据实际需求调整脚本。 总的来说,Oracle字段类型转换是数据库管理中的常见...

    OCCI添加Oracle特殊数据字段类型

    1. 在 Oracle 服务器端创建一个名为 spatial_types.typ 的文件,该文件用于定义 SDO_GEOMETRY 数据类型。具体内容如下: TYPE MDSYS.SDO_GEOMETRY 2. 在 Oracle 服务器端命令行中输入以下命令,以生成 spatial_...

    oracle某个字段多行记录转化为一行

    根据提供的信息,本文将详细介绍如何在Oracle数据库中将某个字段的多行记录转换为一行记录的方法。这种方法在处理大量数据时非常有用,特别是在需要将多个值汇总到一个字段中的场景下。 ### 标题理解:“oracle某个...

    批量导出ORACLE数据库BLOB字段生成图片

    BLOB(Binary Large Object)是Oracle数据库用于存储大量二进制数据的字段类型。它可以存储任何长度的二进制数据,例如图像、音频文件或PDF文档。BLOB字段在数据库中以字节流的形式存在,可以进行读写操作。 要实现...

    oracle unused字段后恢复出来

    oracle unused字段后恢复出来 说明,本来,unused是为了快速drop字段用的,但是是没有...以前被unused的字段名是没有办法通过sql查出来的,至少我不会,如果你会可以教给我。只能通过别的办法来得到unused的字段名。

    oracle数据库表,字段信息导出为excel

    在数据库管理中,有时候我们需要将数据库的结构信息,如表名、字段类型、字段长度以及注释等导出到Excel文件中,以便于数据分析、文档记录或分享给团队成员。这个过程可以通过编程方式实现,例如使用Java的JDBC和...

    获取oracle 表字段,表名,以及主键之类等等的信息

    获取oracle 表字段,表名,以及主键之类等等的信息,获取oracle 表字段,表名,以及主键之类等等的信息获取oracle 表字段,表名,以及主键之类等等的信息获取oracle

    取得oracle中某表的所有字段名

    在Oracle数据库中,获取某个表的所有字段名是常见的需求,特别是在进行数据操作、数据库设计或者自动化脚本编写时。以下是一些关于如何获取Oracle表字段的详细知识。 首先,你可以使用`USER_TAB_COLUMNS`系统视图来...

    C#访问oracle数据库类,带blob字段读写

    Oracle数据库提供了一个名为ODP.NET(Oracle Data Provider for .NET)的数据访问组件,它允许C#应用程序直接与Oracle服务器进行交互。通过ODP.NET,我们可以创建连接、执行SQL命令以及处理数据。 1. **执行非查询...

    Oracle_Mysql_Sqlserver字段类型转换参考

    Oracle_Mysql_Sqlserver字段类型转换参考Oracle_Mysql_Sqlserver字段类型转换参考Oracle_Mysql_Sqlserver字段类型转换参考Oracle_Mysql_Sqlserver字段类型转换参考Oracle_Mysql_Sqlserver字段类型转换参考Oracle_...

    oracle表字段或是视图字段添加备注方法

    其中,XXXX 是表名,YYYY 是字段名,'XXXX' 是备注信息。 示例 以下是一个示例,添加备注信息到视图 ams_annual_comm_view 的字段中: ```sql comment on table ams_annual_comm_view is '获取表字段或是视图字段...

    获取数据库表名和字段名.rar

    在IT领域,数据库管理是核心任务之一,而获取数据库中的表名和字段名是数据库管理员、开发者以及数据分析师经常需要进行的操作。这个名为"获取数据库表名和字段名.rar"的压缩包文件很可能包含了用于这一目的的代码或...

    如何:让Oracle表及字段显示为区分大小写

    - PD会自动为表名和字段名添加双引号,确保它们在Oracle中显示为区分大小写的形式。 #### SQL Server 的对比 与Oracle相比,SQL Server 默认支持区分大小写的标识符。这意味着在SQL Server中创建表时,无需额外...

    oracle 查询表字段明细、字段注释、表注释

    该语句将查询指定表名为 `tablename` 的表字段明细信息,包括字段名称、数据类型、字段长度、精度和小数位数等信息。 二、查询字段注释 在 Oracle 中,系统表 `USER_COL_COMMENTS` 提供了字段注释信息。我们可以...

Global site tag (gtag.js) - Google Analytics