Properties |
---|
public ResultSet | getAttributes(String catalog, String schemaPattern, String typeNamePattern, String attributeNamePattern) throwsSQLException
获取可在给定模式和类别中使用的用户定义类型 (UDT) 的给定类型的给定属性的描述。 仅返回与类别、模式、类型和属性名称标准匹配的 UDT 的属性描述。它们根据 TYPE_CAT 、TYPE_SCHEM 、TYPE_NAME 和ORDINAL_POSITION 进行排序。此描述不包含某些特定的继承属性。 返回的 ResultSet 对象具有以下列:
- TYPE_CAT String => 类型的类别(可为
null ) - TYPE_SCHEM String => 类型的模式(可为
null ) - TYPE_NAME String => 类型名称
- ATTR_NAME String => 属性名称
- DATA_TYPE int => 来自 java.sql.Types 的 SQL 类型的属性类型
- ATTR_TYPE_NAME String => 依赖数据源的类型名称。对于 UDT,类型名称是完全限定的。对于 REF,类型名称是完全限定的,并且表示引用类型的目标类型。
- ATTR_SIZE int => 列的大小。对于 char 或 date 类型,列的大小是最大字符数;对于 numeric 和 decimal 类型,列的大小就是精度。
- DECIMAL_DIGITS int => 小数部分的位数。对于 DECIMAL_DIGITS 不适用的数据类型,则返回 Null。
- NUM_PREC_RADIX int => 基数(通常为 10 或 2)
- NULLABLE int => 是否允许使用 NULL
- attributeNoNulls - 可能不允许使用 NULL 值
- attributeNullable - 明确允许使用 NULL 值
- attributeNullableUnknown - 不知道是否可使用 null
- REMARKS String => 描述列的注释(可为
null ) - ATTR_DEF String => 默认值(可为
null ) - SQL_DATA_TYPE int => 未被使用
- SQL_DATETIME_SUB int => 未被使用
- CHAR_OCTET_LENGTH int => 对于 char 类型,该长度是列中的最大字节数
- ORDINAL_POSITION int => UDT 中的属性的索引(从 1 开始)
- IS_NULLABLE String => ISO 规则用于确定属性是否可以包括 Null。
- YES --- 如果属性可以包括 NULL
- NO --- 如果属性不可以包括 NULL
- 空字符串 --- 如果不知道属性是否可以包括 Null
- SCOPE_CATALOG String => 表的类别,它是引用属性的作用域(如果 DATA_TYPE 不是 REF,则为
null ) - SCOPE_SCHEMA String => 表的模式,它是引用属性的作用域(如果 DATA_TYPE 不是 REF,则为
null ) - SCOPE_TABLE String => 表名称,它是引用属性的作用域(如果 DATA_TYPE 不是 REF,则为
null ) - SOURCE_DATA_TYPE short => 不同类型或用户生成 Ref 类型、来自 java.sql.Types 的 SQL 类型的源类型(如果 DATA_TYPE 不是 DISTINCT 或用户生成的 REF,则为
null )
catalog |
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围 | schemaPattern |
模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围 | typeNamePattern |
类型名称模式;它必须与存储在数据库中的类型名称匹配 | attributeNamePattern |
属性名称模式;它必须与在数据库中被声明的属性名称匹配 | return |
一个 ResultSet 对象,其中每一行都是一个属性描述 | Throws | SQLException:
如果发生数据库访问错误。 | since | 1.4 | See also | getSearchStringEscape |
|
public ResultSet | getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable) throws SQLException
获取唯一标识行的表的最佳列集合的描述。它们根据 SCOPE 进行排序。 每个列描述都有以下列:
- SCOPE short => 实际结果作用域
- bestRowTemporary - 暂时性的,在使用行时使用
- bestRowTransaction - 对当前事务的剩余部分有效
- bestRowSession - 对当前会话的剩余部分有效
- COLUMN_NAME String => 列名称
- DATA_TYPE int => 来自 java.sql.Types 的 SQL 数据类型
- TYPE_NAME String => 数据源依赖的类型名称,对于 UDT,该类型名称是完全限定的
- COLUMN_SIZE int => 精度
- BUFFER_LENGTH int => 未被使用
- DECIMAL_DIGITS short => 标度,对于 DECIMAL_DIGITS 不适用的数据类型,则返回 Null。
- PSEUDO_COLUMN short => 此是否为类似 Oracle ROWID 的伪列
- bestRowUnknown - 可能是伪列,也可能不是
- bestRowNotPseudo - “不”是伪列
- bestRowPseudo - 是伪列
COLUMN_SIZE 列表示给定列的指定列大小。对于数值数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是 String 表示形式字符长度(假定允许的最大小数秒组件的精度)。对于二进制数据,这是字节长度。对于 ROWID 数据类型,这是字节长度。对于列大小不适用的数据类型,则返回 Null。
catalog |
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围 | schema |
模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那 些描述;为 null 则表示该模式名称不应该用于缩小搜索范围 | table |
表名称;它必须与存储在数据库中的表名称匹配 | scope |
感兴趣的作用域,可使用于 SCOPE 相同的值 | nullable |
包含可为 null 的列。 | return |
ResultSet - 每一行都是一个列描述 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public boolean | isCatalogAtStart() throws SQLException
获取某个类别是否出现在完全限定表名的开头。如果没有出现在开头,则类别出现在表名末尾。
return |
如果类别出现在完全限定表名的开头,则返回 true ;否则返回 false | Throws | SQLException:
如果发生数据库访问错误。 |
|
public ResultSet | getCatalogs() throws SQLException
获取可在此数据库中使用的类别名称。可根据类别名称对结果进行排序。 类别列为:
- TABLE_CAT String => 类别名称
return |
ResultSet 对象,在该对象中,每一行都有一个作为类别名称的 String 列 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public String | getCatalogSeparator() throws SQLException
获取此数据库用作类别和表名之间的分隔符的 String 。
|
public String | getCatalogTerm() throws SQLException
获取数据库供应商用于 "catalog" 的首选术语。
|
public ResultSet | getClientInfoProperties() throws SQLException
获取驱动程序支持的客户端信息属性的列表。结果集包括以下列
- NAME String=> 客户端信息属性的名称
- MAX_LEN int=> 属性值的最大长度
- DEFAULT_VALUE String=> 属性的默认值
- DESCRIPTION String=> 属性的描述。通常包括关于此属性存储在数据库何处的信息。
ResultSet 按 NAME 列排序
return |
一个 ResultSet 对象;每行是一个客户端信息属性 | Throws | SQLException:
如果发生数据库访问错误 | since | 1.6 |
|
public ResultSet | getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern) throws SQLException
获取用于表列的访问权的描述。 仅返回与列名称标准匹配的特权。它们根据 COLUMN_NAME 和 PRIVILEGE 进行排序。 每个特权描述都有以下列:
- TABLE_CAT String => 表类别(可为
null ) - TABLE_SCHEM String => 表模式(可为
null ) - TABLE_NAME String => 表名称
- COLUMN_NAME String => 列名称
- GRANTOR String => 访问权的授权人(可为
null ) - GRANTEE String => 访问权的被授权人
- PRIVILEGE String => 访问权的名称(SELECT、INSERT、UPDATE、REFRENCES 等)
- IS_GRANTABLE String => 如果允许被授权人将权利授予他人,则为 "YES";如果不允许,则为 "NO";如果未知,则为
null
catalog |
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围 | schema |
模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那 些描述;为 null 则表示该模式名称不应该用于缩小搜索范围 | table |
表名称;它必须与存储在数据库中的表名称匹配 | columnNamePattern |
列名称模式;它必须与存储在数据库中的列名称匹配 | return |
ResultSet - 每一行都是一个列特权描述 | Throws | SQLException:
如果发生数据库访问错误。 | See also | getSearchStringEscape |
|
public ResultSet | getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throwsSQLException
获取可在指定类别中使用的表列的描述。 仅返回与类别、模式、表和列名称标准匹配的列描述。它们根据 TABLE_CAT 、TABLE_SCHEM 、TABLE_NAME 和ORDINAL_POSITION 进行排序。 每个列描述都有以下列:
- TABLE_CAT String => 表类别(可为
null ) - TABLE_SCHEM String => 表模式(可为
null ) - TABLE_NAME String => 表名称
- COLUMN_NAME String => 列名称
- DATA_TYPE int => 来自 java.sql.Types 的 SQL 类型
- TYPE_NAME String => 数据源依赖的类型名称,对于 UDT,该类型名称是完全限定的
- COLUMN_SIZE int => 列的大小。
- BUFFER_LENGTH 未被使用。
- DECIMAL_DIGITS int => 小数部分的位数。对于 DECIMAL_DIGITS 不适用的数据类型,则返回 Null。
- NUM_PREC_RADIX int => 基数(通常为 10 或 2)
- NULLABLE int => 是否允许使用 NULL。
- columnNoNulls - 可能不允许使用
NULL 值 - columnNullable - 明确允许使用
NULL 值 - columnNullableUnknown - 不知道是否可使用 null
- REMARKS String => 描述列的注释(可为
null ) - COLUMN_DEF String => 该列的默认值,当值在单引号内时应被解释为一个字符串(可为
null ) - SQL_DATA_TYPE int => 未使用
- SQL_DATETIME_SUB int => 未使用
- CHAR_OCTET_LENGTH int => 对于 char 类型,该长度是列中的最大字节数
- ORDINAL_POSITION int => 表中的列的索引(从 1 开始)
- IS_NULLABLE String => ISO 规则用于确定列是否包括 null。
- YES --- 如果参数可以包括 NULL
- NO --- 如果参数不可以包括 NULL
- 空字符串 --- 如果不知道参数是否可以包括 null
- SCOPE_CATLOG String => 表的类别,它是引用属性的作用域(如果 DATA_TYPE 不是 REF,则为
null ) - SCOPE_SCHEMA String => 表的模式,它是引用属性的作用域(如果 DATA_TYPE 不是 REF,则为
null ) - SCOPE_TABLE String => 表名称,它是引用属性的作用域(如果 DATA_TYPE 不是 REF,则为
null ) - SOURCE_DATA_TYPE short => 不同类型或用户生成 Ref 类型、来自 java.sql.Types 的 SQL 类型的源类型(如果 DATA_TYPE 不是 DISTINCT 或用户生成的 REF,则为
null ) - IS_AUTOINCREMENT String => 指示此列是否自动增加
- YES --- 如果该列自动增加
- NO --- 如果该列不自动增加
- 空字符串 --- 如果不能确定该列是否是自动增加参数
COLUMN_SIZE 列表示给定列的指定列大小。对于数值数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是 String 表示形式的字符长度(假定允许的最大小数秒组件的精度)。对于二进制数据,这是字节长度。对于 ROWID 数据类型,这是字节长度。对于列大小不适用的数据类型,则返回 Null。
catalog |
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围 | schemaPattern |
模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围 | tableNamePattern |
表名称模式;它必须与存储在数据库中的表名称匹配 | columnNamePattern |
列名称模式;它必须与存储在数据库中的列名称匹配 | return |
ResultSet - 每一行都是一个列描述 | Throws | SQLException:
如果发生数据库访问错误。 | See also | getSearchStringEscape |
|
public Connection | getConnection() throws SQLException
获取此元数据对象所产生的连接。
|
public ResultSet | getCrossReference(String parentCatalog, String parentSchema, String parentTable, String foreignCatalog, StringforeignSchema, String foreignTable) throws SQLException
获取给定外键列表中外键列的描述,这些列引用主键或表示父表(可能是相同的表,也可能是不同的表)唯一约束的列。从父表返回的列数必须与组成外键的列数匹配。它们根据 FKTABLE_CAT、FKTABLE_SCHEM、FKTABLE_NAME 和 KEY_SEQ 进行排序。 每个外键列描述都有以下列:
- PKTABLE_CAT String => 父键表类别(可为
null ) - PKTABLE_SCHEM String => 父键表模式(可为
null ) - PKTABLE_NAME String => 父键表名称
- PKCOLUMN_NAME String => 父键列名称
- FKTABLE_CAT String => 被导入的外键表类别(可能为
null ),该字符串可能为 null - FKTABLE_SCHEM String => 被导入的外键表模式(可能为
null ),该字符串可能为 null - FKTABLE_NAME String => 被导入的外键表名称
- FKCOLUMN_NAME String => 被导入的外键列名称
- KEY_SEQ short => 外键中的序列号(值 1 表示外键中的第一列,值 2 表示外键中的第二列)。
- UPDATE_RULE short => 更新父键时外键发生的变化:
- importedNoAction - 如果已经导入,则不允许更新父键
- importedKeyCascade - 将导入的键更改为与父键更新一致
- importedKeySetNull - 如果已更新导入键的父键,则将导入键更改为
NULL - importedKeySetDefault - 如果已更新导入键的父键,则将导入键更改为默认值
- importedKeyRestrict - 与 importedKeyNoAction 相同(为了与 ODBC 2.x 兼容)
- DELETE_RULE short => 删除父键时外键发生的变化。
- importedKeyNoAction - 如果已经导入,则不允许删除父键
- importedKeyCascade - 删除导入删除键的行
- importedKeySetNull - 如果已删除导入键的主键,则将导入键更改为
NULL - importedKeyRestrict - 与 importedKeyNoAction 相同(为了与 ODBC 2.x 兼容)
- importedKeySetDefault - 如果已删除导入键的父键,则将导入键更改为默认值
- FK_NAME String => 外键的名称(可为
null ) - PK_NAME String => 父键的名称(可为
null ) - DEFERRABILITY short => 是否可以将对外键约束的评估延迟到提交时间
- importedKeyInitiallyDeferred - 有关定义,请参见 SQL92
- importedKeyInitiallyImmediate - 有关定义,请参见 SQL92
- importedKeyNotDeferrable - 有关定义,请参见 SQL92
parentCatalog |
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围 | parentSchema |
模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围 | parentTable |
导出该键的表的名称;它必须与存储在数据库中的表名称匹配 | foreignCatalog |
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 则获取没有类别的那些描述,为 null 则表示从选择标准中删除类别名称 | foreignSchema |
模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取那些没有模式的描述,为 null 则表示从选择标准中删除模式名称 | foreignTable |
导入该键的表的名称;它必须与存储在数据库中的表名称匹配 | return |
ResultSet - 每一行是一个外键列描述 | Throws | SQLException:
如果发生数据库访问错误。 | See also | getImportedKeys |
|
public int | getDatabaseMajorVersion() throws SQLException
获取底层数据库的主版本号。
|
public int | getDatabaseMinorVersion() throws SQLException
底层数据库的次版本号。
|
public String | getDatabaseProductName() throws SQLException
获取此数据库产品的名称。
|
public String | getDatabaseProductVersion() throws SQLException
获取此数据库产品的版本号。
|
public int | getDefaultTransactionIsolation() throws SQLException
获取此数据库的默认事务隔离级别。java.sql.Connection 中定义了一些可能值。
|
public int | getDriverMajorVersion()
获取此 JDBC 驱动程序的主版本号。
|
public int | getDriverMinorVersion()
获取此 JDBC 驱动程序的次版本号。
|
public String | getDriverName() throws SQLException
获取此 JDBC 驱动程序的名称。
|
public String | getDriverVersion() throws SQLException
获取此 JDBC 驱动程序的 String 形式的版本号。
|
public ResultSet | getExportedKeys(String catalog, String schema, String table) throws SQLException
获取引用给定表的主键列(表导入的外键)的外键列的描述。它们根据 FKTABLE_CAT、FKTABLE_SCHEM、FKTABLE_NAME 和 KEY_SEQ 进行排序。 每个外键列描述都有以下列:
- PKTABLE_CAT String => 主键表类别(可为
null ) - PKTABLE_SCHEM String => 主键表模式(可为
null ) - PKTABLE_NAME String => 主键表名称
- PKCOLUMN_NAME String => 主键列名称
- FKTABLE_CAT String => 被导入的外键表类别(可能为
null ),该字符串可能为 null - FKTABLE_SCHEM String => 被导入的外键表模式(可能为
null ),该字符串可能为 null - FKTABLE_NAME String => 被导入的外键表名称
- FKCOLUMN_NAME String => 被导入的外键列名称
- KEY_SEQ short => 外键中的序列号(值 1 表示外键中的第一列,值 2 表示外键中的第二列)。
- UPDATE_RULE short => 更新主键时外键发生的变化:
- importedNoAction - 如果已经导入,则不允许更新主键
- importedKeyCascade - 将导入的键更改为与主键更新一致
- importedKeySetNull - 如果已更新导入键的主键,则将导入键更改为
NULL - importedKeySetDefault - 如果已更新导入键的主键,则将导入键更改为默认值
- importedKeyRestrict - 与 importedKeyNoAction 相同(为了与 ODBC 2.x 兼容)
- DELETE_RULE short => 删除主键时外键发生的变化。
- importedKeyNoAction - 如果已经导入,则不允许删除主键
- importedKeyCascade - 删除导入删除键的行
- importedKeySetNull - 如果已删除导入键的主键,则将导入键更改为
NULL - importedKeyRestrict - 与 importedKeyNoAction 相同(为了与 ODBC 2.x 兼容)
- importedKeySetDefault - 如果已删除导入键的主键,则将导入键更改为默认值
- FK_NAME String => 外键的名称(可为
null ) - PK_NAME String => 主键的名称(可为
null ) - DEFERRABILITY short => 是否可以将对外键约束的评估延迟到提交时间
- importedKeyInitiallyDeferred - 有关定义,请参见 SQL92
- importedKeyInitiallyImmediate - 有关定义,请参见 SQL92
- importedKeyNotDeferrable - 有关定义,请参见 SQL92
catalog |
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围 | schema |
模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那 些描述;为 null 则表示该模式名称不应该用于缩小搜索范围 | table |
表名称;它必须与存储在数据库中的表名称匹配 | return |
一个 ResultSet 对象,在该对象中,每一行都是一个外键列描述 | Throws | SQLException:
如果发生数据库访问错误。 | See also | getImportedKeys |
|
public String | getExtraNameCharacters() throws SQLException
获取可以在不带引号的标识符名称中使用的所有“额外”字符(除了 a-z、A-Z、0-9 和 _ 以外的字符)。
|
public ResultSet | getFunctionColumns(String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern) throws SQLException
获取给定类别的系统或用户函数参数和返回类型的描述。 只返回那些匹配模式、函数和参数名称标准的描述。它们按照 FUNCTION_CAT 、FUNCTION_SCHEM 、FUNCTION_NAME 和 SPECIFIC_ NAME 进行排序。 在此排序中,返回值(如果有)排在最前面。接着是参数描述,它们按调用顺序排序。然后是列描述,它们按列编号顺序排序。 ResultSet 中的每个行都是带以下字段的参数描述、列描述或返回类型描述:
- FUNCTION_CAT String => 函数类别(可为
null ) - FUNCTION_SCHEM String => 函数模式(可为
null ) - FUNCTION_NAME String => 函数名称。这是用于调用该函数的名称
- COLUMN_NAME String => 列/参数名称
- COLUMN_TYPE Short => 列/参数的种类:
- functionColumnUnknown - 未知
- functionColumnIn - IN 参数
- functionColumnInOut - INOUT 参数
- functionColumnOut - OUT 参数
- functionColumnReturn - 函数返回值
- functionColumnResult - 指示该参数或列是
ResultSet 中的列。 - DATA_TYPE int => 取自 java.sql.Types 的 SQL 类型
- TYPE_NAME String => SQL 类型名称,对于 UDT 类型该类型名称是完全限定的
- PRECISION int => 精度
- LENGTH int => 数据的字节长度
- SCALE short => scale - 对于其 SCALE 不适用的数据类型返回 null。
- RADIX short => 基数
- NULLABLE short => 是否可以包含 NULL。
- functionNoNulls - 不允许使用 NULL 值
- functionNullable - 允许使用 NULL 值
- functionNullableUnknown - 不知道是否可使用 Null 值
- REMARKS String => 描述列/参数的注释
- CHAR_OCTET_LENGTH int => 基于二进制和字符的参数或列的最大长度。对于任何其他数据类型,返回值为 NULL
- ORDINAL_POSITION int => 顺序位置,对于输入和输出参数,从 1 开始。如果此行描述函数的返回值,则返回值 0。对于结果集列,它是结果集中列的顺序位置(从 1 开始)。
- IS_NULLABLE String => ISO 规则用于确定参数或列是否可以包括 Null
- YES --- 如果该参数或列可以包括 NULL
- NO --- 如果该参数或列不可以包括 NULL
- 空字符串 --- 如果不知道该参数或列是否可以包括 Null
- SPECIFIC_NAME String => 唯一标识模式中此函数的名数。这是用户指定的或 DBMS 生成的名称,这可能不同于带有重载函数的
FUNCTION_NAME PRECISION 列表示给定参数或列的指定列大小。对于数值数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是 String 表示形式字符长度(假定允许的最大小数秒组件的精度)。对于二进制数据,这是字节长度。对于 ROWID 数据类型,这是字节长度。对于列大小不适用的数据类型,则返回 Null。
catalog |
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围 | schemaPattern |
模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围 | functionNamePattern |
进程名称模式;它必须与存储在数据库中的函数名称匹配 | columnNamePattern |
参数名称模式;它必须与存储在数据库中的参数或列名称匹配 | return |
ResultSet - 每行描述一个用户函数参数、列或返回类型 | Throws | SQLException:
如果发生数据库访问错误。 | since | 1.6 | See also | getSearchStringEscape |
|
public ResultSet | getFunctions(String catalog, String schemaPattern, String functionNamePattern) throws SQLException
获取给定类别中可用的系统和用户函数的描述。 只返回那些匹配模式和函数名称标准的系统和用户函数的描述。它们按照 FUNCTION_CAT 、FUNCTION_SCHEM 、FUNCTION_NAME 和 SPECIFIC_ NAME 进行排序。 每个函数描述都有以下列:
- FUNCTION_CAT String => 函数类别(可为
null ) - FUNCTION_SCHEM String => 函数模式(可为
null ) - FUNCTION_NAME String => 函数名称。这是用于调用该函数的名称
- REMARKS String => 函数的解释性注释
- FUNCTION_TYPE short => 函数的种类:
- functionResultUnknown - 不能确定是否将返回一个返回值或表。
- functionNoTable- 不返回表
- functionReturnsTable - 返回表
- SPECIFIC_NAME String => 唯一标识模式中此函数的名数。这是用户指定的或 DBMS 生成的名称,这可能不同于带有重载函数的
FUNCTION_NAME 用户可能不具有执行 getFunctions 返回的所有函数的权限
catalog |
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围 | schemaPattern |
模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围 | functionNamePattern |
函数名称模式;它必须与存储在数据库中的函数名称匹配 | return |
ResultSet - 每行是一个函数描述 | Throws | SQLException:
如果发生数据库访问错误。 | since | 1.6 | See also | getSearchStringEscape |
|
public String | getIdentifierQuoteString() throws SQLException
获取用于引用 SQL 标识符的字符串。如果标识符引用不受支持,则此方法返回一个空格 " "。
return |
引用字符串,如果引用不受支持,则返回一个空格 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public ResultSet | getImportedKeys(String catalog, String schema, String table) throws SQLException
获取由给定表的外键列(表导入的主键)引用的主键列的描述。它们根据 PKTABLE_CAT、PKTABLE_SCHEM、PKTABLE_NAME 和 KEY_SEQ 进行排序。 每个主键列描述都有以下列:
- PKTABLE_CAT String => 被导入的主键表类别(可为
null ) - PKTABLE_SCHEM String => 被导入的主键表模式(可为
null ) - PKTABLE_NAME String => 被导入的主键表名称
- PKCOLUMN_NAME String => 被导入的主键列名称
- FKTABLE_CAT String => 外键表类别(可为
null ) - FKTABLE_SCHEM String => 外键表模式(可为
null ) - FKTABLE_NAME String => 外键表名称
- FKCOLUMN_NAME String => 外键列名称
- KEY_SEQ short => 外键中的序列号(值 1 表示外键中的第一列,值 2 表示外键中的第二列)。
- UPDATE_RULE short => 更新主键时外键发生的变化:
- importedNoAction - 如果已经被导入,则不允许更新主键
- importedKeyCascade - 将导入的键更改为与主键更新一致
- importedKeySetNull - 如果已更新导入键的主键,则将导入键更改为
NULL - importedKeySetDefault - 如果已更新导入键的主键,则将导入键更改为默认值
- importedKeyRestrict - 与 importedKeyNoAction 相同(为了与 ODBC 2.x 兼容)
- DELETE_RULE short => 删除主键时外键发生的变化。
- importedKeyNoAction - 如果已经导入,则不允许删除主键
- importedKeyCascade - 删除导入删除键的行
- importedKeySetNull - 如果已删除导入键的主键,则将导入键更改为 NULL
- importedKeyRestrict - 与 importedKeyNoAction 相同(为了与 ODBC 2.x 兼容)
- importedKeySetDefault - 如果已删除导入键的主键,则将导入键更改为默认值
- FK_NAME String => 外键的名称(可为
null ) - PK_NAME String => 主键的名称(可为
null ) - DEFERRABILITY short => 是否可以将对外键约束的评估延迟到提交时间
- importedKeyInitiallyDeferred - 有关定义,请参见 SQL92
- importedKeyInitiallyImmediate - 有关定义,请参见 SQL92
- importedKeyNotDeferrable - 有关定义,请参见 SQL92
catalog |
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围 | schema |
模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那 些描述;为 null 则表示该模式名称不应该用于缩小搜索范围 | table |
表名称;它必须与存储在数据库中的表名称匹配 | return |
ResultSet - 每一行都是一个主键列描述 | Throws | SQLException:
如果发生数据库访问错误。 | See also | getExportedKeys |
|
public ResultSet | getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate) throws SQLException
获取给定表的索引和统计信息的描述。它们根据 NON_UNIQUE、TYPE、INDEX_NAME 和 ORDINAL_POSITION 进行排序。 每个索引列描述都有以下列:
- TABLE_CAT String => 表类别(可为
null ) - TABLE_SCHEM String => 表模式(可为
null ) - TABLE_NAME String => 表名称
- NON_UNIQUE boolean => 索引值是否可以不唯一。TYPE 为 tableIndexStatistic 时索引值为 false
- INDEX_QUALIFIER String => 索引类别(可为
null );TYPE 为 tableIndexStatistic 时索引类别为 null - INDEX_NAME String => 索引名称;TYPE 为 tableIndexStatistic 时索引名称为
null - TYPE short => 索引类型:
- tableIndexStatistic - 此标识与表的索引描述一起返回的表统计信息
- tableIndexClustered - 此为集群索引
- tableIndexHashed - 此为散列索引
- tableIndexOther - 此为某种其他样式的索引
- ORDINAL_POSITION short => 索引中的列序列号;TYPE 为 tableIndexStatistic 时该序列号为零
- COLUMN_NAME String => 列名称;TYPE 为 tableIndexStatistic 时列名称为
null - ASC_OR_DESC String => 列排序序列,"A" => 升序,"D" => 降序,如果排序序列不受支持,可能为
null ;TYPE 为 tableIndexStatistic 时排序序列为 null - CARDINALITY int => TYPE 为 tableIndexStatistic 时,它是表中的行数;否则,它是索引中唯一值的数量。
- PAGES int => TYPE 为 tableIndexStatisic 时,它是用于表的页数,否则它是用于当前索引的页数。
- FILTER_CONDITION String => 过滤器条件,如果有的话。(可能为
null )
catalog |
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围 | schema |
模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那 些描述;为 null 则表示该模式名称不应该用于缩小搜索范围 | table |
表名称;它必须与存储在数据库中的表名称匹配 | unique |
该参数为 true 时,仅返回唯一值的索引;该参数为 false 时,返回所有索引,不管它们是否唯一 | approximate |
该参数为 true 时,允许结果是接近的数据值或这些数据值以外的值;该参数为 false 时,要求结果是精确结果 | return |
ResultSet - 每一行都是一个索引列描述 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getJDBCMajorVersion() throws SQLException
获取此驱动程序的主 JDBC 版本号。
|
public int | getJDBCMinorVersion() throws SQLException
获取此驱动程序的次 JDBC 版本号。
|
public int | getMaxBinaryLiteralLength() throws SQLException
获取此数据库允许在内嵌二进制字面值中使用的最大十六进制字符数。
return |
max,即用于二进制字面值的最大长度(十六进制字符形式);结果为零意味着没有限制或限制是未知的 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getMaxCatalogNameLength() throws SQLException
获取此数据库允许用于类别名称的最大字符数。
return |
允许用于类别名称的最大字符数;结果为零意味着没有限制或限制是未知的 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getMaxCharLiteralLength() throws SQLException
获取此数据库允许用于字符字面值的最大字符数。
return |
允许用于字符字面值的最大字符数;结果为零意味着没有限制或限制是未知的 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getMaxColumnNameLength() throws SQLException
获取此数据库允许用于列名称的最大字符数。
return |
允许用于列名称的最大字符数;结果为零意味着没有限制或限制是未知的 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getMaxColumnsInGroupBy() throws SQLException
获取此数据库允许在 GROUP BY 子句中使用的最大列数。
return |
所允许的最大列数;结果为零意味着没有限制或限制是未知的 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getMaxColumnsInIndex() throws SQLException
获取此数据库允许在索引中使用的最大列数。
return |
所允许的最大列数;结果为零意味着没有限制或限制是未知的 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getMaxColumnsInOrderBy() throws SQLException
获取此数据库允许在 ORDER BY 子句中使用的最大列数。
return |
所允许的最大列数;结果为零意味着没有限制或限制是未知的 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getMaxColumnsInSelect() throws SQLException
获取此数据库允许在 SELECT 列表中使用的最大列数。
return |
所允许的最大列数;结果为零意味着没有限制或限制是未知的 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getMaxColumnsInTable() throws SQLException
获取此数据库允许在表中使用的最大列数。
return |
所允许的最大列数;结果为零意味着没有限制或限制是未知的 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getMaxConnections() throws SQLException
获取连接到此数据库的并发连接的可能最大数。
return |
在某一时间可能的活动连接的最大数;结果为零意味着没有限制或限制是未知的 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getMaxCursorNameLength() throws SQLException
获取此数据库允许用于游标名称的最大字符数。
return |
允许用于游标名称的最大字符数;结果为零意味着没有限制或限制是未知的 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getMaxIndexLength() throws SQLException
获取此数据库允许用于索引(包括索引的所有部分)的最大字节数。
return |
所允许的最大字节数;这一限制由该索引所有组成部分的组成;结果为零意味着没有限制或者限制是未知的 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getMaxProcedureNameLength() throws SQLException
获取此数据库允许用于过程名称的最大字符数。
return |
允许用于过程名称的最大字符数;结果为零意味着没有限制或限制是未知的 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getMaxRowSize() throws SQLException
获取此数据库允许在单行中使用的最大字节数。
return |
允许在行中使用的最大字节数;结果为零意味着没有限制或限制是未知的 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getMaxSchemaNameLength() throws SQLException
获取此数据库允许在模式名称中使用的最大字符数。
return |
允许用于模式名称的最大字符数;结果为零意味着没有限制或限制是未知的 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getMaxStatementLength() throws SQLException
获取此数据库允许在 SQL 语句中使用的最大字符数。
return |
允许在 SQL 语句中使用的最大字符数;结果为零意味着没有限制或限制是未知的 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getMaxStatements() throws SQLException
获取在此数据库中在同一时间内可处于开放状态的最大活动语句数。
return |
在某一时间可同时处于开放状态的最大语句数;结果为零意味着没有限制或限制是未知的 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getMaxTableNameLength() throws SQLException
获取此数据库允许在表名称中使用的最大字符数。
return |
允许用于表名称的最大字符数;结果为零意味着没有限制或限制是未知的 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getMaxTablesInSelect() throws SQLException
获取此数据库允许在 SELECT 语句中使用的表的最大数量。
return |
允许在 SELECT 语句中使用的表的最大数量;结果为零意味着没有限制或限制是未知的 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getMaxUserNameLength() throws SQLException
获取此数据库允许在用户名称中使用的最大字符数。
return |
允许用于用户名称的最大字符数;结果为零意味着没有限制或限制是未知的 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public String | getNumericFunctions() throws SQLException
获取可用于此数据库的数学函数的逗号分隔列表。这些是用于 JDBC 函数转义子句中的 Open /Open CLI 数学函数名称。
|
public ResultSet | getPrimaryKeys(String catalog, String schema, String table) throws SQLException
获取对给定表的主键列的描述。它们根据 COLUMN_NAME 进行排序。 每个主键列描述都有以下列:
- TABLE_CAT String => 表类别(可为
null ) - TABLE_SCHEM String => 表模式(可为
null ) - TABLE_NAME String => 表名称
- COLUMN_NAME String => 列名称
- KEY_SEQ short => 主键中的序列号(值 1 表示主键中的第一列,值 2 表示主键中的第二列)。
- PK_NAME String => 主键的名称(可为
null )
catalog |
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围 | schema |
模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那 些描述;为 null 则表示该模式名称不应该用于缩小搜索范围 | table |
表名称;它必须与存储在数据库中的表名称匹配 | return |
ResultSet - 每一行都是一个主键列描述 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public ResultSet | getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, StringcolumnNamePattern) throws SQLException
获取给定类别的存储过程参数和结果列的描述。 仅返回与模式、过程和参数名称标准匹配的描述。它们根据 PROCEDURE_CAT、PROCEDURE_SCHEM、PROCEDURE_NAME 和 SPECIFIC_NAME 进行排序。在此排序中,返回值(如果有)排在最前面。接着是参数描述,它们按调用顺序排序。然后是列描述,它们按列编号顺序进行排序。 ResultSet 中的每个行都是带以下字段的参数描述或列描述:
- PROCEDURE_CAT String => 过程类别(可为
null ) - PROCEDURE_SCHEM String => 过程模式(可为
null ) - PROCEDURE_NAME String => 过程名称
- COLUMN_NAME String => 列/参数名称
- COLUMN_TYPE Short => 列/参数的种类:
- procedureColumnUnknown - 没人知道
- procedureColumnIn - IN 参数
- procedureColumnInOut - INOUT 参数
- procedureColumnOut - OUT 参数
- procedureColumnReturn - 过程返回值
- procedureColumnResult -
ResultSet 中的结果列 - DATA_TYPE int => 来自 java.sql.Types 的 SQL 类型
- TYPE_NAME String => SQL 类型名称,对于 UDT 类型,类型名称是完全限定的
- PRECISION int => 精度
- LENGTH int => 数据的长度,以字节为单位
- SCALE short => scale - 对于 SCALE 不适用的数据类型返回 null。
- RADIX short => 基数
- NULLABLE short => 是否可以包含 NULL。
- procedureNoNulls - 不允许使用 NULL 值
- procedureNullable - 允许使用 NULL 值
- procedureNullableUnknown - 不知道是否可使用 null
- REMARKS String => 描述参数/列的注释
- COLUMN_DEF String => 列的默认值,当该值在单引号内时被解释为一个字符串(可以为
null )
- 字符串 NULL(不在引号内)- 如果 NULL 作为默认值指定
- TRUNCATE(不在引号内) - 如果指定的默认值截取后才能被表示
- NULL - 如果没有指定默认值
- SQL_DATA_TYPE int => 保留供以后使用
- SQL_DATETIME_SUB int => 保留供以后使用
- CHAR_OCTET_LENGTH int => 基于二进制和字符的列的最大长度。对于任何其他数据类型,返回值为 NULL
- ORDINAL_POSITION int => 顺序位置,对于过程的输入和输出参数该位置从 1 开始。如果此行描述过程的返回值,则返回值 0。对于结果集列,它是从 1 开始的结果集中列的顺序位置。如果有多个结果集,则列顺序位置是已定义的实现。
- IS_NULLABLE String => ISO 规则用于确定列是否可以包括 null。
- YES --- 如果参数可以包括 NULL
- NO --- 如果参数不可以包括 NULL
- 空字符串 --- 如果不知道参数是否可以包括 Null
- SPECIFIC_NAME String => 唯一标识其模式中此过程的名称。
注:有些数据库可能不为过程返回列描述。 PRECISION 列表示给定列的指定列大小。对于数值数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是 String 表示形式的字符长度(假定允许的最大小数秒组件的精度)。对于二进制数据,这是字节长度。对于 ROWID 数据类型,这是字节长度。对于列大小不适用的数据类型,则返回 Null。
catalog |
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围 | schemaPattern |
模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围 | procedureNamePattern |
过程名称模式;它必须与存储在数据库中的过程名称匹配 | columnNamePattern |
列名称模式;它必须与存储在数据库中的列名称匹配 | return |
ResultSet - 每一行都描述一个存储过程参数或列 | Throws | SQLException:
如果发生数据库访问错误。 | See also | getSearchStringEscape |
|
public ResultSet | getProcedures(String catalog, String schemaPattern, String procedureNamePattern) throws SQLException
获取可在给定类别中使用的存储过程的描述。 仅返回与模式和过程名称标准匹配的过程。它们根据 PROCEDURE_CAT 、PROCEDURE_SCHEM 、PROCEDURE_NAME 和 SPECIFIC_ NAME 进行排序。 每个过程描述都有以下列:
- PROCEDURE_CAT String => 过程类别(可为
null ) - PROCEDURE_SCHEM String => 过程模式(可为
null ) - PROCEDURE_NAME String => 过程名称
- 保留供以后使用
- 保留供以后使用
- 保留供以后使用
- REMARKS String => 过程的解释性注释
- PROCEDURE_TYPE short => 过程的种类:
- procedureResultUnknown - 不能确定是否将返回一个返回值。
- procedureNoResult - 不返回一个返回值
- procedureReturnsResult - 返回一个返回值
- SPECIFIC_NAME String => 唯一标识其模式中此过程的名称。
用户可能不具有执行 getProcedures 返回的所有过程的权限
catalog |
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围 | schemaPattern |
模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围 | procedureNamePattern |
过程名称模式;它必须与存储在数据库中的过程名称匹配 | return |
ResultSet - 每个行都是一个过程描述 | Throws | SQLException:
如果发生数据库访问错误。 | See also | getSearchStringEscape |
|
public String | getProcedureTerm() throws SQLException
获取数据库供应商用于 "procedure" 的首选术语。
return |
供应商用于 "procedure" 的术语 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public boolean | isReadOnly() throws SQLException
获取此数据库是否处于只读模式。
return |
如果是这样,则返回 true ;否则返回 false | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getResultSetHoldability() throws SQLException
针对 ResultSet 对象获取此数据库的默认可保存性。
return |
默认可保存性,它是 ResultSet.HOLD_CURSORS_OVER_COMMIT 或ResultSet.CLOSE_CURSORS_AT_COMMIT | Throws | SQLException:
如果发生数据库访问错误。 | since | 1.4 |
|
public RowIdLifetime | getRowIdLifetime() throws SQLException
指示此数据源是否支持 SQL ROWID 类型,如果支持,则 RowId 对象在该类型的生存期内持续有效。 返回的 int 值之间具有以下关系: ROWID_UNSUPPORTED < ROWID_VALID_OTHER < ROWID_VALID_TRANSACTION
< ROWID_VALID_SESSION < ROWID_VALID_FOREVER
因此,可以使用 if (metadata.getRowIdLifetime() > DatabaseMetaData.ROWID_VALID_TRANSACTION)
之类的条件逻辑。永远有效 (ROWID_VALID_FOREVER) 意味着在所有会话中有效,对会话有效 (ROWID_VALID_SESSION) 意味着在其包含的所有事务中有效。
return |
指示 RowId 生存期的状态 | Throws | SQLException:
如果发生数据库访问错误。 | since | 1.6 |
|
public ResultSet | getSchemas() throws SQLException
获取可在此数据库中使用的模式名称。可根据 TABLE_CATALOG 和 TABLE_SCHEM 对结果进行排序。 模式列为:
- TABLE_SCHEM String => 模式名称
- TABLE_CATALOG String => 类别名称(可为
null )
return |
ResultSet 对象,在该对象中,每一行都是一个模式描述 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public ResultSet | getSchemas(String catalog, String schemaPattern) throws SQLException
获取可在此数据库中使用的模式名称。可根据 TABLE_CATALOG 和 TABLE_SCHEM 对结果进行排序。 模式列为:
- TABLE_SCHEM String => 模式名称
- TABLE_CATALOG String => 类别名称(可为
null )
catalog |
类别名称;它必须与存储在数据库中的类别名称匹配;为 "" 表示获取没有类别的模式名称;为 null 表示该类别名称不应该用于缩小搜索范围。 | schemaPattern |
模式名称;它必须与存储在数据库中的模式名称匹配;为 null 则表示该模式名称不应该用于缩小搜索范围。 | return |
每行是一个模式描述的 ResultSet 对象 | Throws | SQLException:
如果发生数据库访问错误。 | since | 1.6 | See also | getSearchStringEscape |
|
public String | getSchemaTerm() throws SQLException
获取数据库供应商用于 "schema" 的首选术语。
|
public String | getSearchStringEscape() throws SQLException
获取可用于转义通配符的字符串。该字符串是可用于在类别搜索参数中转义 '_' 或 '%' 的字符串,这些类别搜索参数表示模式(因此使用通配符之一)。 '_' 字符表示任何单个字符;'%' 字符表示零个或多个字符的任意序列。
|
public String | getSQLKeywords() throws SQLException
获取此数据库的还“不”是 SQL:2003 关键字的所有 SQL 关键字的逗号分隔列表。
return |
此数据库的还不是 SQL:2003 关键字的那些关键字组成的列表 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public int | getSQLStateType() throws SQLException
指示由 SQLException.getSQLState 返回的 SQLSTATE 是 X/Open(现在称为 Open Group)SQL CLI 还是 SQL:2003。
return |
SQLSTATE 的类型,它为 sqlStateXOpen 或 sqlStateSQL 之一 | Throws | SQLException:
如果发生数据库访问错误。 | since | 1.4 |
|
public String | getStringFunctions() throws SQLException
获取可用于此数据库的字符串函数的逗号分隔列表。这些是用于 JDBC 函数转义子句中的 Open Group CLI 字符串函数名称。
|
public ResultSet | getSuperTables(String catalog, String schemaPattern, String tableNamePattern) throws SQLException
获取在此数据库的特定模式中定义的表分层结构的描述。 仅返回与类别、模式和表名称匹配的表的超表 (supertable) 信息。表名称参数可能为完全限定名称,在这种情况下,可忽略 catalog 和 schemaPattern 参数。如果表没有超表,则它不会在这里列出。超表必须使用与子表相同的类别和模式来定义。所以,类型描述不必包含子表的此信息。 每个类型描述都有以下列:
- TABLE_CAT String => 类型的类别(可为
null ) - TABLE_SCHEM String => 类型的模式(可为
null ) - TABLE_NAME String => 类型名称
- SUPERTABLE_NAME String => 直接超类型的名称
注: 如果驱动程序不支持类型分层结构,则返回空结果集。
catalog |
类别名称,该参数为 "" 表示获取没有类别的那些描述,为 null 则表示从选择标准中删除类别名称 | schemaPattern |
模式名称的模式,该参数为 "" 表示获取没有模式的那些描述 | tableNamePattern |
表名称模式,可以是一个完全限定名称 | return |
一个 ResultSet 对象,其中的每一行都是一个类型描述 | Throws | SQLException:
如果发生数据库访问错误。 | since | 1.4 | See also | getSearchStringEscape |
|
public ResultSet | getSuperTypes(String catalog, String schemaPattern, String typeNamePattern) throws SQLException
获取在此数据库的特定模式中定义的用户定义类型 (UDT) 分层结构的描述。仅建模直接的超类型/子类型关系。 仅返回与类别、模式和类型名称匹配的用于 UDT 的超类型信息。类型名称参数可能为完全限定名称。当提供的 UDT 名称是完全限定名称时,忽略 catalog 和 schemaPattern 参数。 如果 UDT 没有直接的超类型,则它不会在这里列出。由此方法返回的 ResultSet 对象的一行描述了指定 UDT 和直接超类型。每一行都具有以下列:
- TYPE_CAT String => UDT 的类别(可为
null ) - TYPE_SCHEM String => UDT 的模式(可为
null ) - TYPE_NAME String => UDT 的类型名称
- SUPERTYPE_CAT String => 直接超类型的类别(可为
null ) - SUPERTYPE_SCHEM String => 直接超类型的模式(可为
null ) - SUPERTYPE_NAME String => 直接超类型的名称
注: 如果驱动程序不支持类型分层结构,则返回空结果集。
catalog |
类别名称,该参数为 "" 表示获取没有类别的那些描述,为 null 则表示从选择标准中删除类别名称 | schemaPattern |
模式名称的模式,该参数为 "" 表示获取没有模式的那些描述 | typeNamePattern |
UDT 名称模式,可以是一个完全限定名称 | return |
ResultSet 对象,其中一行给出了关于指定 UDT 的信息 | Throws | SQLException:
如果发生数据库访问错误。 | since | 1.4 | See also | getSearchStringEscape |
|
public String | getSystemFunctions() throws SQLException
获取可用于此数据库的系统函数的逗号分隔列表。这些是用于 JDBC 函数转义子句中的 Open Group CLI 系统函数名称。
|
public ResultSet | getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern) throws SQLException
获取可在类别中使用的每个表的访问权的描述。注意,表特权可用于表中的一个或多个列。假定此特权可用于所有列是错误的(对于某些系统可能是正确的,但并非所有的系统都如此)。 仅返回与模式和表名称标准匹配的特权。它们根据 TABLE_CAT 、TABLE_SCHEM 、TABLE_NAME 和 PRIVILEGE 进行排序。 每个特权描述都有以下列:
- TABLE_CAT String => 表类别(可为
null ) - TABLE_SCHEM String => 表模式(可为
null ) - TABLE_NAME String => 表名称
- GRANTOR String => 访问权的授权人(可为
null ) - GRANTEE String => 访问权的被授权人
- PRIVILEGE String => 访问权的名称(SELECT、INSERT、UPDATE、REFRENCES 等)
- IS_GRANTABLE String => 如果允许被授权人将权利授予他人,则为 "YES";如果不允许,则为 "NO";如果未知,则为
null
catalog |
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围 | schemaPattern |
模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围 | tableNamePattern |
表名称模式;它必须与存储在数据库中的表名称匹配 | return |
ResultSet - 每个行都是一个表特权描述 | Throws | SQLException:
如果发生数据库访问错误。 | See also | getSearchStringEscape |
|
public ResultSet | getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) throws SQLException
获取可在给定类别中使用的表的描述。仅返回与类别、模式、表名称和类型标准匹配的表描述。它们根据TABLE_TYPE 、TABLE_CAT 、TABLE_SCHEM 和 TABLE_NAME 进行排序。 每个表描述都有以下列:
- TABLE_CAT String => 表类别(可为
null ) - TABLE_SCHEM String => 表模式(可为
null ) - TABLE_NAME String => 表名称
- TABLE_TYPE String => 表类型。典型的类型是 "TABLE"、"VIEW"、"SYSTEM TABLE"、"GLOBAL TEMPORARY"、"LOCAL TEMPORARY"、"ALIAS" 和 "SYNONYM"。
- REMARKS String => 表的解释性注释
- TYPE_CAT String => 类型的类别(可为
null ) - TYPE_SCHEM String => 类型模式(可为
null ) - TYPE_NAME String => 类型名称(可为
null ) - SELF_REFERENCING_COL_NAME String => 有类型表的指定 "identifier" 列的名称(可为
null ) - REF_GENERATION String => 指定在 SELF_REFERENCING_COL_NAME 中创建值的方式。这些值为 "SYSTEM"、"USER" 和 "DERIVED"。(可能为
null ) 注: 有些数据库可能不返回用于所有表的信息。
catalog |
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围 | schemaPattern |
模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围 | tableNamePattern |
表名称模式;它必须与存储在数据库中的表名称匹配 | types |
要包括的表类型所组成的列表,必须取自从 #getTableTypes 返回的表类型列表;null 表示返回所有类型 | return |
ResultSet - 每一行都是一个表描述 | Throws | SQLException:
如果发生数据库访问错误。 | See also | getSearchStringEscape |
|
public ResultSet | getTableTypes() throws SQLException
获取可在此数据库中使用的表类型。可根据表类型对结果进行排序。 表类型为:
- TABLE_TYPE String => 表类型。典型的类型为 "TABLE"、"VIEW"、"SYSTEM TABLE"、"GLOBAL TEMPORARY"、"LOCAL TEMPORARY"、"ALIAS" 和 "SYNONYM"。
return |
ResultSet 对象,在该对象中,每一行都有一个作为表类型的 String 列 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public String | getTimeDateFunctions() throws SQLException
获取可用于此数据库的时间和日期函数的逗号分隔列表。
|
public ResultSet | getTypeInfo() throws SQLException
获取此数据库支持的所有数据类型的描述。它们先按照 DATA_TYPE 排序,然后按照数据类型映射表与相应的 JDBC SQL 类型的接近程度排序。 如果数据库支持 SQL 独特类型,则 getTypeInfo() 将返回一行类型为 DISTINCT 的 TYPE_NAME 和类型为 Types.DISTINCT 的 DATA_TYPE。如果数据库支持 SQL 结构类型,则 getTypeInfo() 将会返回一行类型为 STRUCT 的 TYPE_NAME 和类型为 Types.STRUCT 的 DATA_TYPE。 如果支持 SQL 独特类型和结构类型,则每种类型的信息可以从 getUDTs() 方法获得。 每个类型描述都有以下列:
- TYPE_NAME String => 类型名称
- DATA_TYPE int => 来自 java.sql.Types 的 SQL 数据类型
- PRECISION int => 最大精度
- LITERAL_PREFIX String => 用于引用字面值的前缀(可为
null ) - LITERAL_SUFFIX String => 用于引用字面值的后缀(可为
null ) - CREATE_PARAMS String => 用于创建类型的参数(可为
null ) - NULLABLE short => 是否可对此类型使用 NULL。
- typeNoNulls - 不允许使用 NULL 值
- typeNullable - 允许使用 NULL 值
- typeNullableUnknown - 不知道是否可使用 null
- CASE_SENSITIVE boolean=> 是否区分大小写。
- SEARCHABLE short => 是否可以基于此类型使用 "WHERE":
- typePredNone - 不支持
- typePredChar - 仅支持 WHERE ..LIKE
- typePredBasic - 除 WHERE ..LIKE 以外都受支持
- typeSearchable - 所有 WHERE ..都受支持
- UNSIGNED_ATTRIBUTE boolean => 是否不带符号。
- FIXED_PREC_SCALE boolean => 是否可以为钱币值。
- AUTO_INCREMENT boolean => 是否可以用于自动增量值。
- LOCAL_TYPE_NAME String => 类型名称的本地版(可为
null ) - MINIMUM_SCALE short => 受支持的最小标度
- MAXIMUM_SCALE short => 受支持的最大标度
- SQL_DATA_TYPE int => 未被使用
- SQL_DATETIME_SUB int => 未被使用
- NUM_PREC_RADIX int => 通常为 2 或 10
对于给定数据类型,PRECISION 列表示服务器支持的最大列大小。对于数值数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是 String 表示形式的字符长度(假定允许的最大小数秒组件的精度)。对于二进制数据,这是字节长度。对于 ROWID 数据类型,这是字节长度。对于列大小不适用的数据类型,则返回 Null。
return |
ResultSet 对象,在此对象中,每一行都是一个 SQL 类型描述 | Throws | SQLException:
如果发生数据库访问错误。 |
|
public ResultSet | getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types) throws SQLException
获取在特定模式中定义的用户定义类型 (UDT) 的描述。特定于模式的 UDT 可能具有类型 JAVA_OBJECT 、STRUCT 或DISTINCT 。 仅返回与类别、模式、类型名称和类型标准匹配的类型。它们根据 DATA_TYPE 、TYPE_CAT 、TYPE_SCHEM 和 TYPE_NAME 进行排序。类型名称参数可能为完全限定名称。在这种情况下,忽略 catalog 和 schemaPattern 参数。 每个类型描述都有以下列:
- TYPE_CAT String => 类型的类别(可为
null ) - TYPE_SCHEM String => 类型的模式(可为
null ) - TYPE_NAME String => 类型名称
- CLASS_NAME String => Java 类名称
- DATA_TYPE int => 在 java.sql.Types 中定义的类型值,它是 JAVA_OBJECT、STRUCT 或 DISTINCT 之一
- REMARKS String => 类型的解释性注释
- BASE_TYPE short => DISTINCT 类型或实现结构类型的 SELF_REFERENCING_COLUMN 的用户生成引用类型的类型的源类型类型代码,正如在 java.sql.Types 中定义的那样(如果 DATA_TYPE 不是 DISTINCT 或者不是带有 REFERENCE_GENERATION = USER_DEFINED 的 STRUCT,则该类型代码为
null ) 注: 如果驱动程序不支持 UDT,则返回空结果集。
catalog |
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围 | schemaPattern |
模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围 | typeNamePattern |
类型名称模式;它必须与存储在数据库中的类型名称匹配,它可以是一个完全限定名称 | types |
将包括的用户定义类型(JAVA_OBJECT、STRUCT 或 DISTINCT)组成的列表;该参数为 null 则返回所有类型 | return |
ResultSet 对象,其中每一行都描述了一个 UDT | Throws | SQLException:
如果发生数据库访问错误。 | since | 1.2 | See also | getSearchStringEscape |
|
public String | getURL() throws SQLException
获取此 DBMS 的 URL。
return |
此 DBMS 的 URL,如果无法生成该 URL,则返回 null | Throws | SQLException:
如果发生数据库访问错误。 |
|
public String | getUserName() throws SQLException
获取此数据库的已知的用户名称。
|
public ResultSet | getVersionColumns(String catalog, String schema, String table) throws SQLException
获取在更新行中的任意值时自动更新的表列的描述。它们是无序的。 每个列描述都有以下列:
- SCOPE short => 未被使用
- COLUMN_NAME String => 列名称
- DATA_TYPE int => 来自
java.sql.Types 的 SQL 数据类型 - TYPE_NAME String => 依赖数据源的类型名称
- COLUMN_SIZE int => 精度
- BUFFER_LENGTH int => 列值的长度,以字节为单位
- DECIMAL_DIGITS short => 标度,对于 DECIMAL_DIGITS 不适用的数据类型,则返回 Null。
- PSEUDO_COLUMN short => 此是否为类似 Oracle ROWID 的伪列
- versionColumnUnknown - 可能是伪列,也可能不是
- versionColumnNotPseudo - “不”是伪列
- versionColumnPseudo - 是伪列
COLUMN_SIZE 列表示给定列的指定列大小。对于数值数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是 String 表示形式字符长度(假定允许的最大小数秒组件的精度)。对于二进制数据,这是字节长度。对于 ROWID 数据类型,这是字节长度。对于列大小不适用的数据类型,则返回 Null。
catalog |
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围 | schema |
模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那 些描述;为 null 则表示该模式名称不应该用于缩小搜索范围 | table |
表名称;它必须与存储在数据库中的表名称匹配 | return |
一个 ResultSet 对象,在该对象中,每一行都是一个列描述 | Throws | SQLException:
如果发生数据库访问错误。 |
|