DatabaseMetaData.getProcedures和getProcedureColumns

getProcedures

ResultSet getProcedures(String catalog,
                        String schemaPattern,
                        String procedureNamePattern)
                        throws SQLException
检索可在给定类别中使用的存储过程的描述。

仅返回与模式和过程名称标准匹配的过程。它们根据 PROCEDURE_SCHEM 和 PROCEDURE_NAME 进行排序。

每个过程描述都有以下列:

  1. PROCEDURE_CAT String => 过程类别(可为 null
  2. PROCEDURE_SCHEM String => 过程模式(可为 null
  3. PROCEDURE_NAME String => 过程名称
  4. 保留供以后使用
  5. 保留供以后使用
  6. 保留供以后使用
  7. REMARKS String => 过程的解释性注释
  8. PROCEDURE_TYPE short => 过程的种类:
    • procedureResultUnknown - 可能返回结果
    • procedureNoResult - 不返回结果
    • procedureReturnsResult - 返回结果

参数:
catalog - 类别名称,因为存储在数据库中,所以它必须匹配类别名称。该参数为 "" 则检索没有类别的描述,为  null 则表示该类别名称不应用于缩小搜索范围
schemaPattern - 模式名称的模式,因为存储在数据库中,所以它必须匹配模式名称。该参数为 "" 则检索那些没有模式的描述,为  null 则表示该模式名称不应用于缩小搜索范围
procedureNamePattern - 过程名称模式,因为存储在数据库中,所以它必须匹配过程名称
返回:
ResultSet - 每个行都是一个过程描述
抛出:
SQLException - 如果发生数据库访问错误
另请参见:
getSearchStringEscape()

getProcedureColumns

ResultSet getProcedureColumns(String catalog,
                              String schemaPattern,
                              String procedureNamePattern,
                              String columnNamePattern)
                              throws SQLException
检索给定类别的存储过程参数和结果列的描述。

仅返回与模式、过程和参数名称标准匹配的描述。它们根据 PROCEDURE_SCHEM 和 PROCEDURE_NAME 进行排序。在此排序中,返回值(如果有)排在最前面。接着是参数描述,它们按调用顺序排序。然后是列描述,它们按列编号顺序进行排序。

ResultSet 中的每个行都是带以下字段的参数描述或列描述:

  1. PROCEDURE_CAT String => 过程类别(可为 null
  2. PROCEDURE_SCHEM String => 过程模式(可为 null
  3. PROCEDURE_NAME String => 过程名称
  4. COLUMN_NAME String => 列/参数名称
  5. COLUMN_TYPE Short => 列/参数的种类:
    • procedureColumnUnknown - 没人知道
    • procedureColumnIn - IN 参数
    • procedureColumnInOut - INOUT 参数
    • procedureColumnOut - OUT 参数
    • procedureColumnReturn - 过程返回值
    • procedureColumnResult - ResultSet 中的结果列
  6. DATA_TYPE int => 来自 java.sql.Types 的 SQL 类型
  7. TYPE_NAME String => SQL 类型名称,对于 UDT 类型,类型名称是完全限定的
  8. PRECISION int => 精度
  9. LENGTH int => 数据的长度,以字节为单位
  10. SCALE short => 标度
  11. RADIX short => 基数
  12. NULLABLE short => 是否可以包含 NULL。
    • procedureNoNulls - 不允许使用 NULL 值
    • procedureNullable - 允许使用 NULL 值
    • procedureNullableUnknown - 不知道是否可使用 null
  13. REMARKS String => 描述参数/列的注释

注:有些数据库可能不为过程返回列描述。REMARKS 以外的其他列可由数据库定义。

参数:
catalog - 类别名称,因为存储在数据库中,所以它必须匹配类别名称。该参数为 "" 则检索没有类别的描述,为  null 则表示该类别名称不应用于缩小搜索范围
schemaPattern - 模式名称的模式,因为存储在数据库中,所以它必须匹配模式名称。该参数为 "" 则检索那些没有模式的描述,为  null 则表示该模式名称不应用于缩小搜索范围
procedureNamePattern - 过程名称模式,因为存储在数据库中,所以它必须匹配过程名称
columnNamePattern - 列名称模式,因为存储在数据库中,所以它必须匹配列名称
返回:
ResultSet - 每一行都描述一个存储过程参数或列
抛出:
SQLException - 如果发生数据库访问错误
另请参见:
getSearchStringEscape()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: databasemetadata.gettables是Java中的一个方法,用于获取数据库中的所有表的元数据信息。该方法返回一个ResultSet对象,其中包含了表名、表类型、表所属的模式等信息。使用该方法可以方便地获取数据库中的所有表信息,以便进行后续的操作。 ### 回答2: databasemetadata.gettables是Java编程语言中DatabaseMetaData接口的一个方法,用于返回一个ResultSet对象,包含了指定的数据库中所有的表、视图或系统表的信息。这个方法需要一个参数catalog,它是一个String类型的参数,代表目录名(可能为空),如果catalog参数为null,则只返回没有目录的表,如果catalog参数不为null,则返回属于该目录的所有表。 返回的ResultSet对象中包含了下列列: - TABLE_CAT:String类型,代表列所在的目录(可能为空); - TABLE_SCHEM:String类型,代表列所在的架构(可能为空); - TABLE_NAME:String类型,代表表的名称; - TABLE_TYPE:String类型,代表表的类型,其可能的值有:"TABLE"、"VIEW"、"SYSTEM TABLE"、"GLOBAL TEMPORARY"、"LOCAL TEMPORARY"、"ALIAS"、"SYNONYM"; - REMARKS:String类型,代表对表的描述(可能为空); - TYPE_CAT:String类型,代表表的类型所在的目录(可能为空); - TYPE_SCHEM:String类型,代表表的类型所在的架构(可能为空); - TYPE_NAME:String类型,代表表的类型名称(可能为空); - SELF_REFERENCING_COL_NAME:String类型,代表表中的指向自身的外键列(可能为空); - REF_GENERATION:String类型,代表创建外键时如何生成这些外键的值,其可能的值有:"SYSTEM"、"USER"、"DERIVED"。 这个方法可以极大地方便Java程序员获取数据库中的所有表、视图或系统表的信息,包括它们的名称、类型、相关的目录和架构等等,自此进一步提高了程序的可读性和可维护性。这个方法适用于几乎所有的Java平台,包括Java SE、Java EE、Java ME、JavaFX等等。 ### 回答3: databasemetadata.gettables是一个Java API,它允许Java开发人员从数据库元数据中获取关于表格和相关信息的详细信息。 该API可以帮助Java开发人员在运行时直接访问数据库,并了解其中的表格、视图、存储过程、函数等信息。比如可以通过该API来获取表格名、列名、列数据类型、主键信息、外键信息等。 在使用gettables方法时,需要用到DatabaseMetadata对象,这个对象通常是通过Connection对象获取的。所以,在获取表格信息之前,需要先建立数据库连接。 gettables方法中可以设置一些参数来筛选需要的表格信息,例如可以设置catalog、schema、tableNamePattern等等。其中,catalog和schema用于选择特定的数据库和模式;tableNamePattern则可以用于匹配表格名,例如可以使用通配符来选择需要的表格。 使用databasemetadata.gettables可以方便地获得数据库中的表格信息,而且该API支持大多数的数据库,如MySQL、Oracle、Microsoft SQL Server等。这些信息对于Java开发人员来说具有十分重要的意义,为程序的开发和运行提供了帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值