【代码生成】编写代码生成器前的准备

每次写了存储过程后都要写一堆类似的调用存储过程的java方法,各位有没有这样的感想?

不管你厌不厌,反正我厌了。在网上搜索资料,google被墙了,百度只能搜出一些代码生成器,没有搜出源代码,但是功夫不负有心人,我总算找到

一些切入点。

【java.sql.databasemetadata的用法】

原文地址:http://doc.java.sun.com/DocWeb/api/all/java.sql.DatabaseMetaData




zh_cn
关于数据库的整体综合信息。

此接口由驱动程序供应商实现,让用户了解 Database Management System (DBMS) 在与驱动程序(基于与其一起使用的 JDBCTM 技术(“JDBC 驱动程序”))相结合时的能力。不同的关系 DBMS 常常支持不同的功能,以不同方式实现这些功能,并使用不同的数据类型。此外,驱动程序可以实现 DBMS 提供的顶级功能。此接口中的方法返回的信息关系到一起工作的特定驱动程序和特定 DBMS 的能力。注意,正如此文档中所使用的那样,术语“数据库”通常既指驱动程序,又指 DBMS。

此接口的用户通常是一个需要发现如何处理底层 DBMS 的工具。对于试图与多个 DBMS 一起使用的应用程序而言尤其如此。例如,一个工具可能使用 getTypeInfo 方法找出可以在 CREATE TABLE 语句中使用的数据类型。或者用户可能调用 supportsCorrelatedSubqueries方法查看是否可以使用相关子查询,或者调用 supportsBatchUpdates 查看是否可以使用批量更新。

有些 DatabaseMetaData 方法以 ResultSet 对象的形式返回信息列表。常规 ResultSet 方法(比如 getString 和 getInt)可用于从这些ResultSet 对象中获取数据。如果给定形式的元数据不可用,则将返回一个空 ResultSet。对于被定义为由 ResultSet 对象的给定方法所返回的列以外的其他列,可以由 JDBC 驱动程序供应商定义,且必须通过其列标签访问。

有些 DatabaseMetaData 方法使用 String 模式的参数。这些参数都有 fooPattern 这样的名称。在模式 String 中,"%" 表示匹配 0 个或多个字符的任何子字符串,"_" 表示匹配任何一个字符。仅返回匹配搜索模式的元数据项。如果将搜索模式参数设置为 null,则从搜索中删除参数标准。


Fields
final public static intprocedureResultUnknown
zh_cn
指示不知道过程是否返回结果。

getProcedures 方法返回的 ResultSet 对象中 PROCEDURE_TYPE 列的可能值。

final public static intprocedureNoResult
zh_cn
指示过程不返回结果。

getProcedures 方法返回的 ResultSet 对象中 PROCEDURE_TYPE 列的可能值。

final public static intprocedureReturnsResult
zh_cn
指示过程返回结果。

getProcedures 方法返回的 ResultSet 对象中 PROCEDURE_TYPE 列的可能值。

final public static intprocedureColumnUnknown
zh_cn
指示列的类型为未知。

getProcedureColumns 方法返回的 ResultSet 对象中 COLUMN_TYPE 列的可能值。

final public static intprocedureColumnIn
zh_cn
指示列中存储了 IN 参数。

getProcedureColumns 方法返回的 ResultSet 对象中 COLUMN_TYPE 列的可能值。

final public static intprocedureColumnInOut
zh_cn
指示列中存储了 INOUT 参数。

getProcedureColumns 方法返回的 ResultSet 对象中 COLUMN_TYPE 列的可能值。

final public static intprocedureColumnOut
zh_cn
指示列中存储了 OUT 参数。

getProcedureColumns 方法返回的 ResultSet 对象中 COLUMN_TYPE 列的可能值。

final public static intprocedureColumnReturn
zh_cn
指示列中存储了返回值。

getProcedureColumns 方法返回的 ResultSet 对象中 COLUMN_TYPE 列的可能值。

final public static intprocedureColumnResult
zh_cn
指示列中存储了结果。

getProcedureColumns 方法返回的 ResultSet 对象中 COLUMN_TYPE 列的可能值。

final public static intprocedureNoNulls
zh_cn
指示不允许使用 NULL 值。

getProcedureColumns 方法返回的 ResultSet 对象中 NULLABLE 列的可能值。

final public static intprocedureNullable
zh_cn
指示允许使用 NULL 值。

getProcedureColumns 方法返回的 ResultSet 对象中 NULLABLE 列的可能值。

final public static intprocedureNullableUnknown
zh_cn
指示不知道是否允许使用 NULL 值。

getProcedureColumns 方法返回的 ResultSet 对象中 NULLABLE 列的可能值。

final public static intcolumnNoNulls
zh_cn
指示列中可能不允许使用 NULL 值。

getColumns 方法返回的 ResultSet 对象中 NULLABLE 列的可能值。

final public static intcolumnNullable
zh_cn
指示列中明确允许使用 NULL 值。

getColumns 方法返回的 ResultSet 对象中 NULLABLE 列的可能值。

final public static intcolumnNullableUnknown
zh_cn
指示不知道列是否可为 null。

getColumns 方法返回的 ResultSet 对象中 NULLABLE 列的可能值。

final public static intbestRowTemporary
zh_cn
指示最佳行标识符的作用域是临时的,仅在使用该行时可用。

getBestRowIdentifier 方法返回的 ResultSet 对象中 SCOPE 列的可能值。

final public static intbestRowTransaction
zh_cn
指示最佳行标识符的作用域是当前事务的剩余部分。

getBestRowIdentifier 方法返回的 ResultSet 对象中 SCOPE 列的可能值。

final public static intbestRowSession
zh_cn
指示最佳行标识符的作用域是当前会话的剩余部分。

getBestRowIdentifier 方法返回的 ResultSet 对象中 SCOPE 列的可能值。

final public static intbestRowUnknown
zh_cn
指示最佳行标识符可能是伪列 (pseudo column),也可能不是。

getBestRowIdentifier 方法返回的 ResultSet 对象中 PSEUDO_COLUMN 列的可能值。

final public static intbestRowNotPseudo
zh_cn
指示最佳行标识符“不”是伪列。

getBestRowIdentifier 方法返回的 ResultSet 对象中 PSEUDO_COLUMN 列的可能值。

final public static intbestRowPseudo
zh_cn
指示最佳行标识符是伪列。

getBestRowIdentifier 方法返回的 ResultSet 对象中 PSEUDO_COLUMN 列的可能值。

final public static intversionColumnUnknown
zh_cn
指示这种版本的列可能是伪列,也可能不是。

getVersionColumns 方法返回的 ResultSet 对象中 PSEUDO_COLUMN 列的可能值。

final public static intversionColumnNotPseudo
zh_cn
指示这种版本的列“不”是伪列。

getVersionColumns 方法返回的 ResultSet 对象中 PSEUDO_COLUMN 列的可能值。

final public static intversionColumnPseudo
zh_cn
指示这种版本的列是伪列。

getVersionColumns 方法返回的 ResultSet 对象中 PSEUDO_COLUMN 列的可能值。

final public static intimportedKeyCascade
zh_cn
对于 UPDATE_RULE 列,指示在更新主键时,外键(导入的键)的更改要与之一致。对于 DELETE_RULE 列,它指示在删除主键时,也应删除导入该键的行。

方法 getImportedKeysgetExportedKeys 和 getCrossReference 返回的 ResultSet 对象中 UPDATE_RULE 和 DELETE_RULE 列的可能值。

final public static intimportedKeyRestrict
zh_cn
对于 UPDATE_RULE 列,指示如果主键已被另一个表作为外键导入,则可能不更新该主键。对于 DELETE_RULE 列,指示如果主键已被另一个表作为外键导入,则可能不删除该主键。

方法 getImportedKeysgetExportedKeys 和 getCrossReference 返回的 ResultSet 对象中 UPDATE_RULE 和 DELETE_RULE 列的可能值。

final public static intimportedKeySetNull
zh_cn
对于 UPDATE_RULE 和 DELETE_RULE 列,指示在更新或删除主键时,将外键(导入的键)更改为 NULL

方法 getImportedKeysgetExportedKeys 和 getCrossReference 返回的 ResultSet 对象中 UPDATE_RULE 和 DELETE_RULE 列的可能值。

final public static intimportedKeyNoAction
zh_cn
对于 UPDATE_RULE 和 DELETE_RULE 列,指示如果主键已导入,则无法更新或删除它。

方法 getImportedKeysgetExportedKeys 和 getCrossReference 返回的 ResultSet 对象中 UPDATE_RULE 和 DELETE_RULE 列的可能值。

final public static intimportedKeySetDefault
zh_cn
对于 UPDATE_RULE 和 DELETE_RULE 列,指示如果更新或删除了主键,则将外键(导入的键)设置为默认值。

方法 getImportedKeysgetExportedKeys 和 getCrossReference 返回的 ResultSet 对象中 UPDATE_RULE 和 DELETE_RULE 列的可能值。

final public static intimportedKeyInitiallyDeferred
zh_cn
指示可延迟性。有关定义,请参见 SQL-92。

方法 getImportedKeysgetExportedKeys 和 getCrossReference 返回的 ResultSet 对象中 DEFERRABILITY 列的可能值。

final public static intimportedKeyInitiallyImmediate
zh_cn
指示可延迟性。有关定义,请参见 SQL-92。

方法 getImportedKeysgetExportedKeys 和 getCrossReference 返回的 ResultSet 对象中 DEFERRABILITY 列的可能值。

final public static intimportedKeyNotDeferrable
zh_cn
指示可延迟性。有关定义,请参见 SQL-92。

方法 getImportedKeysgetExportedKeys 和 getCrossReference 返回的 ResultSet 对象中 DEFERRABILITY 列的可能值。

final public static inttypeNoNulls
zh_cn
指示“不”允许对这种数据类型使用 NULL 值。

getTypeInfo 方法返回的 ResultSet 对象中 NULLABLE 列的可能值。

final public static inttypeNullable
zh_cn
指示允许对这种数据类型使用 NULL 值。

getTypeInfo 方法返回的 ResultSet 对象中 NULLABLE 列的可能值。

final public static inttypeNullableUnknown
zh_cn
指示不知道是否允许对这种数据类型使用 NULL 值。

getTypeInfo 方法返回的 ResultSet 对象中 NULLABLE 列的可能值。

final public static inttypePredNone
zh_cn
指示不支持将 WHERE 搜索子句用于这种类型。

getTypeInfo 方法返回的 ResultSet 对象中 SEARCHABLE 列的可能值。

final public static inttypePredChar
zh_cn
指示该数据类型只能用于使用 LIKE 谓词的 WHERE 搜索子句中。

getTypeInfo 方法返回的 ResultSet 对象中 SEARCHABLE 列的可能值。

final public static inttypePredBasic
zh_cn
指示该数据类型只能用于不使用 LIKE 谓词的 WHERE 搜索子句中。

getTypeInfo 方法返回的 ResultSet 对象中 SEARCHABLE 列的可能值。

final public static inttypeSearchable
zh_cn
指示在此类型上可以建立所有 WHERE 搜索子句。

getTypeInfo 方法返回的 ResultSet 对象中 SEARCHABLE 列的可能值。

final public static shorttableIndexStatistic
zh_cn
指示此列包含与表的索引描述一起返回的表统计信息。

getIndexInfo 方法返回的 ResultSet 对象中 TYPE 列的可能值。

final public static shorttableIndexClustered
zh_cn
指示此表索引是一个集群索引 (clustered index)。

getIndexInfo 方法返回的 ResultSet 对象中 TYPE 列的可能值。

final public static shorttableIndexHashed
zh_cn
指示此表索引是一个散列索引。

getIndexInfo 方法返回的 ResultSet 对象中 TYPE 列的可能值。

final public static shorttableIndexOther
zh_cn
指示此表索引不是集群索引、散列索引或表统计信息,它是其他某种东西。

getIndexInfo 方法返回的 ResultSet 对象中 TYPE 列的可能值。

final public static shortattributeNoNulls
zh_cn
指示可能不允许使用 NULL 值。

getAttributes 方法返回的 ResultSet 对象中 NULLABLE 列的可能值。

final public static shortattributeNullable
zh_cn
指示明确允许使用 NULL 值。

getAttributes 方法返回的 ResultSet 对象中 NULLABLE 列的可能值。

final public static shortattributeNullableUnknown
zh_cn
指示不知道是否允许使用 NULL 值。

getAttributes 方法返回的 ResultSet 对象中 NULLABLE 列的可能值。

final public static intsqlStateXOpen
zh_cn
DatabaseMetaData.getSQLStateType 方法一个可能的返回值,用于指示 SQLException.getSQLState 返回的值是否是一个 X/Open(现在称为 Open Group)SQL CLI SQLSTATE 值。

since1.4

final public static intsqlStateSQL
zh_cn
DatabaseMetaData.getSQLStateType 方法一个可能的返回值,用于指示 SQLException.getSQLState 方法返回的值是否是一个 SQLSTATE 值。

since1.6

final public static intsqlStateSQL99
zh_cn
DatabaseMetaData.getSQLStateType 方法一个可能的返回值,用于指示 SQLException.getSQLState 方法返回的值是否是一个 SQL99 SQLSTATE 值。

注:保留此常量仅出于兼容性考虑。开发人员应该使用 sqlStateSQL 常量来代替。

since1.4

final public static intfunctionColumnUnknown
zh_cn
指示该类型的参数或列未知。

ResultSet 中由 getFunctionColumns 方法返回的 COLUMN_TYPE 列的可能值。

final public static intfunctionColumnIn
zh_cn
指示参数或列是一个 IN 参数。

ResultSet 中由 getFunctionColumns 方法返回的 COLUMN_TYPE 列的可能值。

since1.6

final public static intfunctionColumnInOut
zh_cn
指示参数或列是一个 INOUT 参数。

ResultSet 中由 getFunctionColumns 方法返回的 COLUMN_TYPE 列的可能值。

since1.6

final public static intfunctionColumnOut
zh_cn
指示参数或列是一个 OUT 参数。

ResultSet 中由 getFunctionColumns 方法返回的 COLUMN_TYPE 列的可能值。

since1.6

final public static intfunctionReturn
zh_cn
指示参数或列是一个返回值。

ResultSet 中由 getFunctionColumns 方法返回的 COLUMN_TYPE 列的可能值。

since1.6

final public static intfunctionColumnResult
zh_cn
指示参数或列是结果集中的一列。

ResultSet 中由 getFunctionColumns 方法返回的 COLUMN_TYPE 列的可能值。

since1.6

final public static intfunctionNoNulls
zh_cn
指示不允许 NULL 值。

ResultSet 对象中由 getFunctionColumns 方法返回的 NULLABLE 列的可能值。

since1.6

final public static intfunctionNullable
zh_cn
指示允许 NULL 值。

ResultSet 对象中由 getFunctionColumns 方法返回的 NULLABLE 列的可能值。

since1.6

final public static intfunctionNullableUnknown
zh_cn
指示是否允许 NULL 值是未知的。

ResultSet 对象中由 getFunctionColumns 方法返回的 NULLABLE 列的可能值。

since1.6

final public static intfunctionResultUnknown
zh_cn
指示不知道函数是返回一个结果还是一个表。

ResultSet 对象中由 getFunctions 方法返回的 FUNCTION_TYPE 列的可能值。

since1.6

final public static intfunctionNoTable
zh_cn
指示函数不返回一个表。

ResultSet 对象中由 getFunctions 方法返回的 FUNCTION_TYPE 列的可能值。

since1.6

final public static intfunctionReturnsTable
zh_cn
指示函数返回一个表。

ResultSet 对象中由 getFunctions 方法返回的 FUNCTION_TYPE 列的可能值。

since1.6


Methods
public booleanallProceduresAreCallable() throws SQLException
zh_cn
获取当前用户是否可以调用 getProcedures 方法返回的所有过程。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleanallTablesAreSelectable() throws SQLException
zh_cn
获取当前用户是否可以使用 SELECT 语句中的 getTables 方法返回的所有表。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleanautoCommitFailureClosesAllResultSets() throws SQLException
zh_cn
当 autoCommit 为 true 时,获取 SQLException 是否指示所有打开的 ResultSets 已关闭(包括那些可保持的)。当发生 SQLException 而 autocommit 为 true 时,则 JDBC 驱动程序是以提交操作、回滚操作响应还是既不提交也不回滚是特定于供应商的。此差异的可能结果在于可保持的 ResultSets 是否关闭。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.6
public booleandataDefinitionCausesTransactionCommit() throws SQLException
zh_cn
获取事务中的数据定义语句是否强迫该事务进行提交。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleandataDefinitionIgnoredInTransactions() throws SQLException
zh_cn
获取此数据库是否忽略事务中的数据定义语句。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleandeletesAreDetected(int type) throws SQLException
zh_cn
获取是否可以通过调用 ResultSet.rowDeleted 方法检测可见行的删除。如果 deletesAreDetected 方法返回 false,则意味着从结果集中移除已删除的行。
type
zh_cn
ResultSet 类型,它是 ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE 或ResultSet.TYPE_SCROLL_SENSITIVE 之一
return
zh_cn
如果根据给定结果集类型检测删除,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.2
public booleandoesMaxRowSizeIncludeBlobs() throws SQLException
zh_cn
获取 getMaxRowSize 方法的返回值是否包括 SQL 数据类型 LONGVARCHAR 和 LONGVARBINARY
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleaninsertsAreDetected(int type) throws SQLException
zh_cn
获取是否可以通过调用 ResultSet.rowInserted 方法检测可见行的插入。
type
zh_cn
ResultSet 类型,它是 ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE 或ResultSet.TYPE_SCROLL_SENSITIVE 之一
return
zh_cn
如果根据指定结果集类型检测更改,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.2
public booleanlocatorsUpdateCopy() throws SQLException
zh_cn
指示对 LOB 的更新是在副本上进行还是直接更新到 LOB。
return
zh_cn
如果更新在 LOB 的副本上进行,则返回 true;如果直接更新到 LOB,则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.4
public booleannullPlusNonNullIsNull() throws SQLException
zh_cn
获取此数据库是否支持 NULL 值与等于 NULL 的非 NULL 值之间的连接。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleannullsAreSortedAtEnd() throws SQLException
zh_cn
获取 NULL 值是否始终排在末尾,不管排序顺序如何。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleannullsAreSortedAtStart() throws SQLException
zh_cn
获取 NULL 值是否始终排在开头,不管排序顺序如何。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleannullsAreSortedHigh() throws SQLException
zh_cn
获取 NULL 值是否被高排序。高排序是指在域中,NULL 值的排序高于其他任何值。在升序中,如果此方法返回true,则 NULL 值将出现在末尾。相反,nullsAreSortedAtEnd 方法指示 NULL 值始终存储在末尾,不管排序顺序如何。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleannullsAreSortedLow() throws SQLException
zh_cn
获取 NULL 值是否被低排序。低排序是指在域中,NULL 值的排序低于其他任何值。在升序中,如果此方法返回true,则 NULL 值将出现在开头。相反,nullsAreSortedAtStart 方法指示 NULL 值始终存储在开头,不管排序顺序如何。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleanothersDeletesAreVisible(int type) throws SQLException
zh_cn
获取由其他结果集类型进行的删除是否可见。
type
zh_cn
ResultSet 类型,它是 ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE 或ResultSet.TYPE_SCROLL_SENSITIVE 之一
return
zh_cn
如果由其他结果集类型进行的删除对于给定结果集是可见的,则返回 true;否则返回false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.2
public booleanothersInsertsAreVisible(int type) throws SQLException
zh_cn
获取由其他结果集类型进行的插入是否可见。
type
zh_cn
ResultSet 类型,它是 ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE 或ResultSet.TYPE_SCROLL_SENSITIVE 之一
return
zh_cn
如果由其他结果集类型进行的插入对于给定结果集是可见的,则返回 true;否则返回false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.2
public booleanothersUpdatesAreVisible(int type) throws SQLException
zh_cn
获取由其他结果集类型进行的更新是否可见。
type
zh_cn
ResultSet 类型,它是 ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE 或ResultSet.TYPE_SCROLL_SENSITIVE 之一
return
zh_cn
如果由其他结果集类型进行的更新对于给定结果集是可见的,则返回 true;否则返回false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.2
public booleanownDeletesAreVisible(int type) throws SQLException
zh_cn
获取结果集自身的删除是否可见。
type
zh_cn
ResultSet 类型,它是 ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE 或ResultSet.TYPE_SCROLL_SENSITIVE 之一
return
zh_cn
如果删除对于给定结果集是可见的,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.2
public booleanownInsertsAreVisible(int type) throws SQLException
zh_cn
获取结果集自身的插入是否可见。
type
zh_cn
ResultSet 类型,它是 ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE 或ResultSet.TYPE_SCROLL_SENSITIVE 之一
return
zh_cn
如果插入对于给定结果集是可见的,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.2
public booleanownUpdatesAreVisible(int type) throws SQLException
zh_cn
获取对于给定类型的 ResultSet 对象,结果集自身的更新是否可见。
type
zh_cn
ResultSet 类型,它是 ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE 或ResultSet.TYPE_SCROLL_SENSITIVE 之一
return
zh_cn
如果更新对于给定结果集是可见的,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.2
public booleanprovidesQueryObjectGenerator() throws SQLException
en
Retrieves whether this JDBC driver provides its own QueryObjectGenerator.
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.6
public booleanstoresLowerCaseIdentifiers() throws SQLException
zh_cn
获取此数据库是否将大小写混写的不带引号的 SQL 标识符作为不区分大小写的形式处理,并以小写形式存储它们。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleanstoresLowerCaseQuotedIdentifiers() throws SQLException
zh_cn
获取此数据库是否将大小写混写的带引号的 SQL 标识符作为不区分大小写的形式处理,并以小写形式存储它们。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleanstoresMixedCaseIdentifiers() throws SQLException
zh_cn
获取此数据库是否将大小写混写的不带引号的 SQL 标识符作为不区分大小写的形式处理,并以大小写混合形式存储它们。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleanstoresMixedCaseQuotedIdentifiers() throws SQLException
zh_cn
获取此数据库是否将大小写混写的带引号的 SQL 标识符作为不区分大小写的形式处理,并以大小写混合形式存储它们。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleanstoresUpperCaseIdentifiers() throws SQLException
zh_cn
获取此数据库是否将大小写混写的不带引号的 SQL 标识符作为不区分大小写的形式处理,并以大写形式存储它们。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleanstoresUpperCaseQuotedIdentifiers() throws SQLException
zh_cn
获取此数据库是否将大小写混写的带引号的 SQL 标识符作为不区分大小写的形式处理,并以大写形式存储它们。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsAlterTableWithAddColumn() throws SQLException
zh_cn
获取此数据库是否支持带有 add 列的 ALTER TABLE
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsAlterTableWithDropColumn() throws SQLException
zh_cn
获取此数据库是否支持带有 drop 列的 ALTER TABLE
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsANSI92EntryLevelSQL() throws SQLException
zh_cn
获取此数据库是否支持 ANSI92 入门级 SQL 语法。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsANSI92FullSQL() throws SQLException
zh_cn
获取此数据库是否支持受支持的 ANSI92 完全 SQL 语法。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsANSI92IntermediateSQL() throws SQLException
zh_cn
获取此数据库是否支持受支持的 ANSI92 中间 SQL 语法。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsBatchUpdates() throws SQLException
zh_cn
获取此数据库是否支持批量更新。
return
zh_cn
如果此数据库支持批量更新,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.2
public booleansupportsCatalogsInDataManipulation() throws SQLException
zh_cn
获取某个类别名称是否可以在数据操作语句中使用。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsCatalogsInIndexDefinitions() throws SQLException
zh_cn
获取某个类别名称是否可以在获取定义语句中使用。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsCatalogsInPrivilegeDefinitions() throws SQLException
zh_cn
获取某个类别名称是否可以在特权定义语句中使用。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsCatalogsInProcedureCalls() throws SQLException
zh_cn
获取某个类别名称是否可以在过程调用语句中使用。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsCatalogsInTableDefinitions() throws SQLException
zh_cn
获取某个类别名称是否可以在表定义语句中使用。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsColumnAliasing() throws SQLException
zh_cn
获取此数据库是否支持为列提供别名。

如果支持,则可以使用 SQL AS 子句为已经计算的列提供名称,或者为所需要的列提供别名。

return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。

public booleansupportsConvert() throws SQLException
zh_cn
获取此数据库是否支持用于 JDBC 类型之间转换的 JDBC 标量函数 CONVERT。JDBC 类型是 java.sql.Types 中定义的一般 SQL 数据类型。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsConvert(int fromType, int toType) throws SQLException
zh_cn
获取此数据库是否支持用于 JDBC fromType 和 toType 类型之间转换的 JDBC 标量函数 CONVERT。JDBC 类型是java.sql.Types 中定义的一般 SQL 数据类型。
fromType
zh_cn
要转换的类型,它是 java.sql.Types 类中的类型代码之一
toType
zh_cn
要转换的目标类型,它是 java.sql.Types 类中的类型代码之一
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
See alsojava.sql.Types
public booleansupportsCoreSQLGrammar() throws SQLException
zh_cn
获取此数据库是否支持 ODBC Core SQL 语法。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsCorrelatedSubqueries() throws SQLException
zh_cn
获取此数据库是否支持相关子查询。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsDataDefinitionAndDataManipulationTransactions() throws SQLException
zh_cn
获取此数据库是否同时支持事务中的数据定义和数据操作语句。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsDataManipulationTransactionsOnly() throws SQLException
zh_cn
获取此数据库是否仅支持事务中的数据操作语句。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsDifferentTableCorrelationNames() throws SQLException
zh_cn
获取在表关联名称受支持时,是否要限制它们与表的名称不同。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsExpressionsInOrderBy() throws SQLException
zh_cn
获取此数据库是否支持 ORDER BY 列表中的表达式。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsExtendedSQLGrammar() throws SQLException
zh_cn
获取此数据库是否支持 ODBC Extended SQL 语法。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsFullOuterJoins() throws SQLException
zh_cn
获取此数据库是否支持完全嵌套的外连接。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsGetGeneratedKeys() throws SQLException
zh_cn
获取是否可以在执行语句后获取自动生成的键。
return
zh_cn
如果可以在已执行语句后获取自动生成的键,则返回 true;否则返回 false

如果返回 true,则 JDBC 驱动程序至少必须为 SQL INSERT 语句支持自动生成键的返回值。

ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.4
public booleansupportsGroupBy() throws SQLException
zh_cn
获取此数据库是否支持某种形式的 GROUP BY 子句。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsGroupByBeyondSelect() throws SQLException
zh_cn
获取此数据库是否支持使用不包含在 SELECT 语句中而包含在 GROUP BY 子句中的列,假设 SELECT 语句中的所有列都包含在 GROUP BY 子句中。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsGroupByUnrelated() throws SQLException
zh_cn
获取此数据库是否支持使用不在 SELECT 语句中而在 GROUP BY 子句中的列。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsIntegrityEnhancementFacility() throws SQLException
zh_cn
获取此数据库是否支持 SQL Integrity Enhancement Facility。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsLikeEscapeClause() throws SQLException
zh_cn
获取此数据库是否支持指定 LIKE 转义子句。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsLimitedOuterJoins() throws SQLException
zh_cn
获取此数据库是否为外连接提供受限制的支持。(如果 supportsFullOuterJoins 方法返回 true,则此为 true)。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsMinimumSQLGrammar() throws SQLException
zh_cn
获取此数据库是否支持 ODBC Minimum SQL 语法。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsMixedCaseIdentifiers() throws SQLException
zh_cn
获取此数据库是否将大小写混写的不带引号的 SQL 标识符作为区分大小写的形式处理,并且最后以大小写混合形式存储它们。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsMixedCaseQuotedIdentifiers() throws SQLException
zh_cn
获取此数据库是否将大小写混写的带引号的 SQL 标识符作为区分大小写的形式处理,并且最后以大小写混合形式存储它们。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsMultipleOpenResults() throws SQLException
zh_cn
获取是否可以同时拥有从 CallableStatement 对象中返回的多个 ResultSet 对象。
return
zh_cn
如果一个 CallableStatement 对象可以同时返回多个 ResultSet 对象,则返回 true;否则返回false
ThrowsSQLException
zh_cn
如果发生数据库访问错误
since1.4
public booleansupportsMultipleResultSets() throws SQLException
zh_cn
获取此数据库是否支持一次调用 execute 方法获得多个 ResultSet 对象。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsMultipleTransactions() throws SQLException
zh_cn
获取此数据库是否允许一次打开多个事务(在不同的 connection 上)。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsNamedParameters() throws SQLException
zh_cn
获取此数据库是否支持可调用语句的指定参数。
return
zh_cn
如果指定参数受支持,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.4
public booleansupportsNonNullableColumns() throws SQLException
zh_cn
获取是否可以将此数据库中的列定义为非 null。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsOpenCursorsAcrossCommit() throws SQLException
zh_cn
获取此数据库是否支持在进行提交期间保持游标开放。
return
zh_cn
如果游标总是保持开放,则返回 true;如果游标可能无法保持开放,则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsOpenCursorsAcrossRollback() throws SQLException
zh_cn
获取此数据库是否支持在回滚期间保持游标开放。
return
zh_cn
如果游标总是保持开放,则返回 true;如果游标可能无法保持开放,则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsOpenStatementsAcrossCommit() throws SQLException
zh_cn
获取此数据库是否支持在进行提交期间保持语句开放。
return
zh_cn
如果语句总是保持开放,则返回 true;如果游标可能无法保持开放,则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsOpenStatementsAcrossRollback() throws SQLException
zh_cn
获取此数据库是否支持在回滚期间保持语句开放。
return
zh_cn
如果语句总是保持开放,则返回 true;如果游标可能无法保持开放,则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsOrderByUnrelated() throws SQLException
zh_cn
获取此数据库是否支持使用不在 SELECT 语句中而在 ORDER BY 子句中的列。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsOuterJoins() throws SQLException
zh_cn
获取此数据库是否支持某种形式的外连接。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsPositionedDelete() throws SQLException
zh_cn
获取此数据库是否支持位置的 DELETE 语句。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsPositionedUpdate() throws SQLException
zh_cn
获取此数据库是否支持位置的 UPDATE 语句。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsResultSetConcurrency(int type, int concurrency) throws SQLException
zh_cn
获取此数据库是否支持与给定结果集类型结合在一起的给定并发性类型。
type
zh_cn
在 java.sql.ResultSet 中定义
concurrency
zh_cn
java.sql.ResultSet 中定义的类型
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.2
See alsojava.sql.Connection
public booleansupportsResultSetHoldability(int holdability) throws SQLException
zh_cn
获取此数据库是否支持给定结果集可保存性。
holdability
zh_cn
以下常量之一:ResultSet.HOLD_CURSORS_OVER_COMMIT 或 ResultSet.CLOSE_CURSORS_AT_COMMIT
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.4
See alsojava.sql.Connection
public booleansupportsResultSetType(int type) throws SQLException
zh_cn
获取此数据库是否支持给定结果集类型。
type
zh_cn
在 java.sql.ResultSet 中定义
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.2
See alsojava.sql.Connection
public booleansupportsSavepoints() throws SQLException
zh_cn
获取此数据库是否支持保存点 (savepoint)。
return
zh_cn
如果保存点受支持,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.4
public booleansupportsSchemasInDataManipulation() throws SQLException
zh_cn
获取某个模式名称是否可以数据操作语句中使用。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsSchemasInIndexDefinitions() throws SQLException
zh_cn
获取某个模式名称是否可以在获取定义语句中使用。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsSchemasInPrivilegeDefinitions() throws SQLException
zh_cn
获取某个模式名称是否可以在特权定义语句中使用。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsSchemasInProcedureCalls() throws SQLException
zh_cn
获取某个模式名称是否可以在过程调用语句中使用。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsSchemasInTableDefinitions() throws SQLException
zh_cn
获取某个模式名称是否可以在表定义语句中使用。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsSelectForUpdate() throws SQLException
zh_cn
获取此数据库是否支持位置的 SELECT FOR UPDATE 语句。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsStatementPooling() throws SQLException
zh_cn
获取此数据库是否支持语句合并 (statement pooling)。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLExcpetion: 
zh_cn
如果发生数据库访问错误。
since1.4
public booleansupportsStoredFunctionsUsingCallSyntax() throws SQLException
zh_cn
获取此数据库是否支持使用存储过程转义语法调用用户定义的函数或供应商函数。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.6
public booleansupportsStoredProcedures() throws SQLException
zh_cn
获取此数据库是否支持使用存储过程转义语法的存储过程调用。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsSubqueriesInComparisons() throws SQLException
zh_cn
获取此数据库是否支持比较表达式中的子查询。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsSubqueriesInExists() throws SQLException
zh_cn
获取此数据库是否支持 EXISTS 表达式中的子查询。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsSubqueriesInIns() throws SQLException
zh_cn
获取此数据库是否支持 IN 表达式中的子查询。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsSubqueriesInQuantifieds() throws SQLException
zh_cn
获取此数据库是否支持量化表达式 (quantified expression) 中的子查询。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsTableCorrelationNames() throws SQLException
zh_cn
获取此数据库是否支持表关联名称。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsTransactionIsolationLevel(int level) throws SQLException
zh_cn
获取此数据库是否支持给定事务隔离级别。
level
zh_cn
java.sql.Connection 中定义的事务隔离级别之一
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
See alsojava.sql.Connection
public booleansupportsTransactions() throws SQLException
zh_cn
获取此数据库是否支持事务。如果不支持,则调用 commit 方法是无操作 (noop),并且隔离级别是TRANSACTION_NONE
return
zh_cn
如果事务受支持,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsUnion() throws SQLException
zh_cn
获取此数据库是否支持 SQL UNION
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleansupportsUnionAll() throws SQLException
zh_cn
获取此数据库是否支持 SQL UNION ALL
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleanupdatesAreDetected(int type) throws SQLException
zh_cn
获取是否可以通过调用 ResultSet.rowUpdated 方法检测可见行的更新。
type
zh_cn
ResultSet 类型,它是 ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVE 或ResultSet.TYPE_SCROLL_SENSITIVE 之一
return
zh_cn
如果根据结果集类型检测更改,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.2
public booleanusesLocalFilePerTable() throws SQLException
zh_cn
获取此数据库是否为每个表使用一个文件。
return
zh_cn
如果此数据库为每个表使用一个本地文件,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleanusesLocalFiles() throws SQLException
zh_cn
获取此数据库是否将表存储在本地文件中。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。

Properties
public ResultSetgetAttributes(String catalog, String schemaPattern, String typeNamePattern, String attributeNamePattern) throwsSQLException
zh_cn
获取可在给定模式和类别中使用的用户定义类型 (UDT) 的给定类型的给定属性的描述。

仅返回与类别、模式、类型和属性名称标准匹配的 UDT 的属性描述。它们根据 TYPE_CATTYPE_SCHEMTYPE_NAME 和ORDINAL_POSITION 进行排序。此描述不包含某些特定的继承属性。

返回的 ResultSet 对象具有以下列:

  1. TYPE_CAT String => 类型的类别(可为 null
  2. TYPE_SCHEM String => 类型的模式(可为 null
  3. TYPE_NAME String => 类型名称
  4. ATTR_NAME String => 属性名称
  5. DATA_TYPE int => 来自 java.sql.Types 的 SQL 类型的属性类型
  6. ATTR_TYPE_NAME String => 依赖数据源的类型名称。对于 UDT,类型名称是完全限定的。对于 REF,类型名称是完全限定的,并且表示引用类型的目标类型。
  7. ATTR_SIZE int => 列的大小。对于 char 或 date 类型,列的大小是最大字符数;对于 numeric 和 decimal 类型,列的大小就是精度。
  8. DECIMAL_DIGITS int => 小数部分的位数。对于 DECIMAL_DIGITS 不适用的数据类型,则返回 Null。
  9. NUM_PREC_RADIX int => 基数(通常为 10 或 2)
  10. NULLABLE int => 是否允许使用 NULL
    • attributeNoNulls - 可能不允许使用 NULL 值
    • attributeNullable - 明确允许使用 NULL 值
    • attributeNullableUnknown - 不知道是否可使用 null
  11. REMARKS String => 描述列的注释(可为 null
  12. ATTR_DEF String => 默认值(可为 null
  13. SQL_DATA_TYPE int => 未被使用
  14. SQL_DATETIME_SUB int => 未被使用
  15. CHAR_OCTET_LENGTH int => 对于 char 类型,该长度是列中的最大字节数
  16. ORDINAL_POSITION int => UDT 中的属性的索引(从 1 开始)
  17. IS_NULLABLE String => ISO 规则用于确定属性是否可以包括 Null。
    • YES --- 如果属性可以包括 NULL
    • NO --- 如果属性不可以包括 NULL
    • 空字符串 --- 如果不知道属性是否可以包括 Null
  18. SCOPE_CATALOG String => 表的类别,它是引用属性的作用域(如果 DATA_TYPE 不是 REF,则为 null
  19. SCOPE_SCHEMA String => 表的模式,它是引用属性的作用域(如果 DATA_TYPE 不是 REF,则为 null
  20. SCOPE_TABLE String => 表名称,它是引用属性的作用域(如果 DATA_TYPE 不是 REF,则为 null
  21. SOURCE_DATA_TYPE short => 不同类型或用户生成 Ref 类型、来自 java.sql.Types 的 SQL 类型的源类型(如果 DATA_TYPE 不是 DISTINCT 或用户生成的 REF,则为 null
catalog
zh_cn
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schemaPattern
zh_cn
模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
typeNamePattern
zh_cn
类型名称模式;它必须与存储在数据库中的类型名称匹配
attributeNamePattern
zh_cn
属性名称模式;它必须与在数据库中被声明的属性名称匹配
return
zh_cn
一个 ResultSet 对象,其中每一行都是一个属性描述
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.4
See alsogetSearchStringEscape
public ResultSetgetBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable) throws SQLException
zh_cn
获取唯一标识行的表的最佳列集合的描述。它们根据 SCOPE 进行排序。

每个列描述都有以下列:

  1. SCOPE short => 实际结果作用域
    • bestRowTemporary - 暂时性的,在使用行时使用
    • bestRowTransaction - 对当前事务的剩余部分有效
    • bestRowSession - 对当前会话的剩余部分有效
  2. COLUMN_NAME String => 列名称
  3. DATA_TYPE int => 来自 java.sql.Types 的 SQL 数据类型
  4. TYPE_NAME String => 数据源依赖的类型名称,对于 UDT,该类型名称是完全限定的
  5. COLUMN_SIZE int => 精度
  6. BUFFER_LENGTH int => 未被使用
  7. DECIMAL_DIGITS short => 标度,对于 DECIMAL_DIGITS 不适用的数据类型,则返回 Null。
  8. PSEUDO_COLUMN short => 此是否为类似 Oracle ROWID 的伪列
    • bestRowUnknown - 可能是伪列,也可能不是
    • bestRowNotPseudo - “不”是伪列
    • bestRowPseudo - 是伪列

COLUMN_SIZE 列表示给定列的指定列大小。对于数值数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是 String 表示形式字符长度(假定允许的最大小数秒组件的精度)。对于二进制数据,这是字节长度。对于 ROWID 数据类型,这是字节长度。对于列大小不适用的数据类型,则返回 Null。

catalog
zh_cn
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schema
zh_cn
模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那 些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
table
zh_cn
表名称;它必须与存储在数据库中的表名称匹配
scope
zh_cn
感兴趣的作用域,可使用于 SCOPE 相同的值
nullable
zh_cn
包含可为 null 的列。
return
zh_cn
ResultSet - 每一行都是一个列描述
ThrowsSQLException
zh_cn
如果发生数据库访问错误。

public booleanisCatalogAtStart() throws SQLException
zh_cn
获取某个类别是否出现在完全限定表名的开头。如果没有出现在开头,则类别出现在表名末尾。
return
zh_cn
如果类别出现在完全限定表名的开头,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public ResultSetgetCatalogs() throws SQLException
zh_cn
获取可在此数据库中使用的类别名称。可根据类别名称对结果进行排序。

类别列为:

  1. TABLE_CAT String => 类别名称
return
zh_cn
ResultSet 对象,在该对象中,每一行都有一个作为类别名称的 String 列
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public StringgetCatalogSeparator() throws SQLException
zh_cn
获取此数据库用作类别和表名之间的分隔符的 String
return
zh_cn
分隔符字符串
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public StringgetCatalogTerm() throws SQLException
zh_cn
获取数据库供应商用于 "catalog" 的首选术语。
return
zh_cn
供应商用于 "catalog" 的术语
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public ResultSetgetClientInfoProperties() throws SQLException
zh_cn
获取驱动程序支持的客户端信息属性的列表。结果集包括以下列

  1. NAME String=> 客户端信息属性的名称
  2. MAX_LEN int=> 属性值的最大长度
  3. DEFAULT_VALUE String=> 属性的默认值
  4. DESCRIPTION String=> 属性的描述。通常包括关于此属性存储在数据库何处的信息。

ResultSet 按 NAME 列排序

return
zh_cn
一个 ResultSet 对象;每行是一个客户端信息属性

ThrowsSQLException
zh_cn
如果发生数据库访问错误

since1.6

public ResultSetgetColumnPrivileges(String catalog, String schema, String table, String columnNamePattern) throws SQLException
zh_cn
获取用于表列的访问权的描述。

仅返回与列名称标准匹配的特权。它们根据 COLUMN_NAME 和 PRIVILEGE 进行排序。

每个特权描述都有以下列:

  1. TABLE_CAT String => 表类别(可为 null
  2. TABLE_SCHEM String => 表模式(可为 null
  3. TABLE_NAME String => 表名称
  4. COLUMN_NAME String => 列名称
  5. GRANTOR String => 访问权的授权人(可为 null
  6. GRANTEE String => 访问权的被授权人
  7. PRIVILEGE String => 访问权的名称(SELECT、INSERT、UPDATE、REFRENCES 等)
  8. IS_GRANTABLE String => 如果允许被授权人将权利授予他人,则为 "YES";如果不允许,则为 "NO";如果未知,则为 null
catalog
zh_cn
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schema
zh_cn
模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那 些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
table
zh_cn
表名称;它必须与存储在数据库中的表名称匹配
columnNamePattern
zh_cn
列名称模式;它必须与存储在数据库中的列名称匹配
return
zh_cn
ResultSet - 每一行都是一个列特权描述
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
See alsogetSearchStringEscape
public ResultSetgetColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throwsSQLException
zh_cn
获取可在指定类别中使用的表列的描述。

仅返回与类别、模式、表和列名称标准匹配的列描述。它们根据 TABLE_CATTABLE_SCHEMTABLE_NAME 和ORDINAL_POSITION 进行排序。

每个列描述都有以下列:

  1. TABLE_CAT String => 表类别(可为 null
  2. TABLE_SCHEM String => 表模式(可为 null
  3. TABLE_NAME String => 表名称
  4. COLUMN_NAME String => 列名称
  5. DATA_TYPE int => 来自 java.sql.Types 的 SQL 类型
  6. TYPE_NAME String => 数据源依赖的类型名称,对于 UDT,该类型名称是完全限定的
  7. COLUMN_SIZE int => 列的大小。
  8. BUFFER_LENGTH 未被使用。
  9. DECIMAL_DIGITS int => 小数部分的位数。对于 DECIMAL_DIGITS 不适用的数据类型,则返回 Null。
  10. NUM_PREC_RADIX int => 基数(通常为 10 或 2)
  11. NULLABLE int => 是否允许使用 NULL。
    • columnNoNulls - 可能不允许使用 NULL 值
    • columnNullable - 明确允许使用 NULL 值
    • columnNullableUnknown - 不知道是否可使用 null
  12. REMARKS String => 描述列的注释(可为 null
  13. COLUMN_DEF String => 该列的默认值,当值在单引号内时应被解释为一个字符串(可为 null
  14. SQL_DATA_TYPE int => 未使用
  15. SQL_DATETIME_SUB int => 未使用
  16. CHAR_OCTET_LENGTH int => 对于 char 类型,该长度是列中的最大字节数
  17. ORDINAL_POSITION int => 表中的列的索引(从 1 开始)
  18. IS_NULLABLE String => ISO 规则用于确定列是否包括 null。
    • YES --- 如果参数可以包括 NULL
    • NO --- 如果参数不可以包括 NULL
    • 空字符串 --- 如果不知道参数是否可以包括 null
  19. SCOPE_CATLOG String => 表的类别,它是引用属性的作用域(如果 DATA_TYPE 不是 REF,则为 null
  20. SCOPE_SCHEMA String => 表的模式,它是引用属性的作用域(如果 DATA_TYPE 不是 REF,则为 null
  21. SCOPE_TABLE String => 表名称,它是引用属性的作用域(如果 DATA_TYPE 不是 REF,则为 null
  22. SOURCE_DATA_TYPE short => 不同类型或用户生成 Ref 类型、来自 java.sql.Types 的 SQL 类型的源类型(如果 DATA_TYPE 不是 DISTINCT 或用户生成的 REF,则为 null
  23. IS_AUTOINCREMENT String => 指示此列是否自动增加
    • YES --- 如果该列自动增加
    • NO --- 如果该列不自动增加
    • 空字符串 --- 如果不能确定该列是否是自动增加参数

COLUMN_SIZE 列表示给定列的指定列大小。对于数值数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是 String 表示形式的字符长度(假定允许的最大小数秒组件的精度)。对于二进制数据,这是字节长度。对于 ROWID 数据类型,这是字节长度。对于列大小不适用的数据类型,则返回 Null。

catalog
zh_cn
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schemaPattern
zh_cn
模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
tableNamePattern
zh_cn
表名称模式;它必须与存储在数据库中的表名称匹配
columnNamePattern
zh_cn
列名称模式;它必须与存储在数据库中的列名称匹配
return
zh_cn
ResultSet - 每一行都是一个列描述
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
See alsogetSearchStringEscape

public ConnectiongetConnection() throws SQLException
zh_cn
获取此元数据对象所产生的连接。

return
zh_cn
此元数据对象所产生的连接
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.2

public ResultSetgetCrossReference(String parentCatalog, String parentSchema, String parentTable, String foreignCatalog, StringforeignSchema, String foreignTable) throws SQLException
zh_cn
获取给定外键列表中外键列的描述,这些列引用主键或表示父表(可能是相同的表,也可能是不同的表)唯一约束的列。从父表返回的列数必须与组成外键的列数匹配。它们根据 FKTABLE_CAT、FKTABLE_SCHEM、FKTABLE_NAME 和 KEY_SEQ 进行排序。

每个外键列描述都有以下列:

  1. PKTABLE_CAT String => 父键表类别(可为 null
  2. PKTABLE_SCHEM String => 父键表模式(可为 null
  3. PKTABLE_NAME String => 父键表名称
  4. PKCOLUMN_NAME String => 父键列名称
  5. FKTABLE_CAT String => 被导入的外键表类别(可能为 null),该字符串可能为 null
  6. FKTABLE_SCHEM String => 被导入的外键表模式(可能为 null),该字符串可能为 null
  7. FKTABLE_NAME String => 被导入的外键表名称
  8. FKCOLUMN_NAME String => 被导入的外键列名称
  9. KEY_SEQ short => 外键中的序列号(值 1 表示外键中的第一列,值 2 表示外键中的第二列)。
  10. UPDATE_RULE short => 更新父键时外键发生的变化:
    • importedNoAction - 如果已经导入,则不允许更新父键
    • importedKeyCascade - 将导入的键更改为与父键更新一致
    • importedKeySetNull - 如果已更新导入键的父键,则将导入键更改为 NULL
    • importedKeySetDefault - 如果已更新导入键的父键,则将导入键更改为默认值
    • importedKeyRestrict - 与 importedKeyNoAction 相同(为了与 ODBC 2.x 兼容)
  11. DELETE_RULE short => 删除父键时外键发生的变化。
    • importedKeyNoAction - 如果已经导入,则不允许删除父键
    • importedKeyCascade - 删除导入删除键的行
    • importedKeySetNull - 如果已删除导入键的主键,则将导入键更改为 NULL
    • importedKeyRestrict - 与 importedKeyNoAction 相同(为了与 ODBC 2.x 兼容)
    • importedKeySetDefault - 如果已删除导入键的父键,则将导入键更改为默认值
  12. FK_NAME String => 外键的名称(可为 null
  13. PK_NAME String => 父键的名称(可为 null
  14. DEFERRABILITY short => 是否可以将对外键约束的评估延迟到提交时间
    • importedKeyInitiallyDeferred - 有关定义,请参见 SQL92
    • importedKeyInitiallyImmediate - 有关定义,请参见 SQL92
    • importedKeyNotDeferrable - 有关定义,请参见 SQL92
parentCatalog
zh_cn
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
parentSchema
zh_cn
模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
parentTable
zh_cn
导出该键的表的名称;它必须与存储在数据库中的表名称匹配
foreignCatalog
zh_cn
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 则获取没有类别的那些描述,为 null 则表示从选择标准中删除类别名称
foreignSchema
zh_cn
模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取那些没有模式的描述,为 null 则表示从选择标准中删除模式名称
foreignTable
zh_cn
导入该键的表的名称;它必须与存储在数据库中的表名称匹配
return
zh_cn
ResultSet - 每一行是一个外键列描述
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
See alsogetImportedKeys
public intgetDatabaseMajorVersion() throws SQLException
zh_cn
获取底层数据库的主版本号。
return
zh_cn
底层数据库的主版本号
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.4
public intgetDatabaseMinorVersion() throws SQLException
zh_cn
底层数据库的次版本号。
return
zh_cn
底层数据库的次版本号
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.4
public StringgetDatabaseProductName() throws SQLException
zh_cn
获取此数据库产品的名称。
return
zh_cn
数据库产品名称
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public StringgetDatabaseProductVersion() throws SQLException
zh_cn
获取此数据库产品的版本号。
return
zh_cn
数据库版本号
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetDefaultTransactionIsolation() throws SQLException
zh_cn
获取此数据库的默认事务隔离级别。java.sql.Connection 中定义了一些可能值。
return
zh_cn
默认隔离级别
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
See alsojava.sql.Connection
public intgetDriverMajorVersion()
zh_cn
获取此 JDBC 驱动程序的主版本号。
return
zh_cn
JDBC 驱动程序的主版本
public intgetDriverMinorVersion()
zh_cn
获取此 JDBC 驱动程序的次版本号。
return
zh_cn
JDBC 驱动程序的次版本号
public StringgetDriverName() throws SQLException
zh_cn
获取此 JDBC 驱动程序的名称。
return
zh_cn
JDBC 驱动程序名称
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public StringgetDriverVersion() throws SQLException
zh_cn
获取此 JDBC 驱动程序的 String 形式的版本号。
return
zh_cn
JDBC 驱动程序版本
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public ResultSetgetExportedKeys(String catalog, String schema, String table) throws SQLException
zh_cn
获取引用给定表的主键列(表导入的外键)的外键列的描述。它们根据 FKTABLE_CAT、FKTABLE_SCHEM、FKTABLE_NAME 和 KEY_SEQ 进行排序。

每个外键列描述都有以下列:

  1. PKTABLE_CAT String => 主键表类别(可为 null
  2. PKTABLE_SCHEM String => 主键表模式(可为 null
  3. PKTABLE_NAME String => 主键表名称
  4. PKCOLUMN_NAME String => 主键列名称
  5. FKTABLE_CAT String => 被导入的外键表类别(可能为 null),该字符串可能为 null
  6. FKTABLE_SCHEM String => 被导入的外键表模式(可能为 null),该字符串可能为 null
  7. FKTABLE_NAME String => 被导入的外键表名称
  8. FKCOLUMN_NAME String => 被导入的外键列名称
  9. KEY_SEQ short => 外键中的序列号(值 1 表示外键中的第一列,值 2 表示外键中的第二列)。
  10. UPDATE_RULE short => 更新主键时外键发生的变化:
    • importedNoAction - 如果已经导入,则不允许更新主键
    • importedKeyCascade - 将导入的键更改为与主键更新一致
    • importedKeySetNull - 如果已更新导入键的主键,则将导入键更改为 NULL
    • importedKeySetDefault - 如果已更新导入键的主键,则将导入键更改为默认值
    • importedKeyRestrict - 与 importedKeyNoAction 相同(为了与 ODBC 2.x 兼容)
  11. DELETE_RULE short => 删除主键时外键发生的变化。
    • importedKeyNoAction - 如果已经导入,则不允许删除主键
    • importedKeyCascade - 删除导入删除键的行
    • importedKeySetNull - 如果已删除导入键的主键,则将导入键更改为 NULL
    • importedKeyRestrict - 与 importedKeyNoAction 相同(为了与 ODBC 2.x 兼容)
    • importedKeySetDefault - 如果已删除导入键的主键,则将导入键更改为默认值
  12. FK_NAME String => 外键的名称(可为 null
  13. PK_NAME String => 主键的名称(可为 null
  14. DEFERRABILITY short => 是否可以将对外键约束的评估延迟到提交时间
    • importedKeyInitiallyDeferred - 有关定义,请参见 SQL92
    • importedKeyInitiallyImmediate - 有关定义,请参见 SQL92
    • importedKeyNotDeferrable - 有关定义,请参见 SQL92
catalog
zh_cn
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schema
zh_cn
模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那 些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
table
zh_cn
表名称;它必须与存储在数据库中的表名称匹配
return
zh_cn
一个 ResultSet 对象,在该对象中,每一行都是一个外键列描述
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
See alsogetImportedKeys
public StringgetExtraNameCharacters() throws SQLException
zh_cn
获取可以在不带引号的标识符名称中使用的所有“额外”字符(除了 a-z、A-Z、0-9 和 _ 以外的字符)。
return
zh_cn
包含额外字符的字符串
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public ResultSetgetFunctionColumns(String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern) throws SQLException
zh_cn
获取给定类别的系统或用户函数参数和返回类型的描述。

只返回那些匹配模式、函数和参数名称标准的描述。它们按照 FUNCTION_CATFUNCTION_SCHEMFUNCTION_NAME 和 SPECIFIC_ NAME 进行排序。 在此排序中,返回值(如果有)排在最前面。接着是参数描述,它们按调用顺序排序。然后是列描述,它们按列编号顺序排序。

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

  1. FUNCTION_CAT String => 函数类别(可为 null
  2. FUNCTION_SCHEM String => 函数模式(可为 null
  3. FUNCTION_NAME String => 函数名称。这是用于调用该函数的名称
  4. COLUMN_NAME String => 列/参数名称
  5. COLUMN_TYPE Short => 列/参数的种类:
    • functionColumnUnknown - 未知
    • functionColumnIn - IN 参数
    • functionColumnInOut - INOUT 参数
    • functionColumnOut - OUT 参数
    • functionColumnReturn - 函数返回值
    • functionColumnResult - 指示该参数或列是 ResultSet 中的列。
  6. DATA_TYPE int => 取自 java.sql.Types 的 SQL 类型
  7. TYPE_NAME String => SQL 类型名称,对于 UDT 类型该类型名称是完全限定的
  8. PRECISION int => 精度
  9. LENGTH int => 数据的字节长度
  10. SCALE short => scale - 对于其 SCALE 不适用的数据类型返回 null。
  11. RADIX short => 基数
  12. NULLABLE short => 是否可以包含 NULL。
    • functionNoNulls - 不允许使用 NULL 值
    • functionNullable - 允许使用 NULL 值
    • functionNullableUnknown - 不知道是否可使用 Null 值
  13. REMARKS String => 描述列/参数的注释
  14. CHAR_OCTET_LENGTH int => 基于二进制和字符的参数或列的最大长度。对于任何其他数据类型,返回值为 NULL
  15. ORDINAL_POSITION int => 顺序位置,对于输入和输出参数,从 1 开始。如果此行描述函数的返回值,则返回值 0。对于结果集列,它是结果集中列的顺序位置(从 1 开始)。
  16. IS_NULLABLE String => ISO 规则用于确定参数或列是否可以包括 Null
    • YES --- 如果该参数或列可以包括 NULL
    • NO --- 如果该参数或列不可以包括 NULL
    • 空字符串 --- 如果不知道该参数或列是否可以包括 Null
  17. SPECIFIC_NAME String => 唯一标识模式中此函数的名数。这是用户指定的或 DBMS 生成的名称,这可能不同于带有重载函数的 FUNCTION_NAME

PRECISION 列表示给定参数或列的指定列大小。对于数值数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是 String 表示形式字符长度(假定允许的最大小数秒组件的精度)。对于二进制数据,这是字节长度。对于 ROWID 数据类型,这是字节长度。对于列大小不适用的数据类型,则返回 Null。

catalog
zh_cn
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schemaPattern
zh_cn
模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
functionNamePattern
zh_cn
进程名称模式;它必须与存储在数据库中的函数名称匹配
columnNamePattern
zh_cn
参数名称模式;它必须与存储在数据库中的参数或列名称匹配
return
zh_cn
ResultSet - 每行描述一个用户函数参数、列或返回类型
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.6
See alsogetSearchStringEscape

public ResultSetgetFunctions(String catalog, String schemaPattern, String functionNamePattern) throws SQLException
zh_cn
获取给定类别中可用的系统和用户函数的描述。

只返回那些匹配模式和函数名称标准的系统和用户函数的描述。它们按照 FUNCTION_CATFUNCTION_SCHEMFUNCTION_NAME和 SPECIFIC_ NAME 进行排序。

每个函数描述都有以下列:

  1. FUNCTION_CAT String => 函数类别(可为 null
  2. FUNCTION_SCHEM String => 函数模式(可为 null
  3. FUNCTION_NAME String => 函数名称。这是用于调用该函数的名称
  4. REMARKS String => 函数的解释性注释
  5. FUNCTION_TYPE short => 函数的种类:
    • functionResultUnknown - 不能确定是否将返回一个返回值或表。
    • functionNoTable- 不返回表
    • functionReturnsTable - 返回表
  6. SPECIFIC_NAME String => 唯一标识模式中此函数的名数。这是用户指定的或 DBMS 生成的名称,这可能不同于带有重载函数的 FUNCTION_NAME

用户可能不具有执行 getFunctions 返回的所有函数的权限

catalog
zh_cn
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schemaPattern
zh_cn
模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
functionNamePattern
zh_cn
函数名称模式;它必须与存储在数据库中的函数名称匹配
return
zh_cn
ResultSet - 每行是一个函数描述
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.6
See alsogetSearchStringEscape

public StringgetIdentifierQuoteString() throws SQLException
zh_cn
获取用于引用 SQL 标识符的字符串。如果标识符引用不受支持,则此方法返回一个空格 " "。
return
zh_cn
引用字符串,如果引用不受支持,则返回一个空格
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public ResultSetgetImportedKeys(String catalog, String schema, String table) throws SQLException
zh_cn
获取由给定表的外键列(表导入的主键)引用的主键列的描述。它们根据 PKTABLE_CAT、PKTABLE_SCHEM、PKTABLE_NAME 和 KEY_SEQ 进行排序。

每个主键列描述都有以下列:

  1. PKTABLE_CAT String => 被导入的主键表类别(可为 null
  2. PKTABLE_SCHEM String => 被导入的主键表模式(可为 null
  3. PKTABLE_NAME String => 被导入的主键表名称
  4. PKCOLUMN_NAME String => 被导入的主键列名称
  5. FKTABLE_CAT String => 外键表类别(可为 null
  6. FKTABLE_SCHEM String => 外键表模式(可为 null
  7. FKTABLE_NAME String => 外键表名称
  8. FKCOLUMN_NAME String => 外键列名称
  9. KEY_SEQ short => 外键中的序列号(值 1 表示外键中的第一列,值 2 表示外键中的第二列)。
  10. UPDATE_RULE short => 更新主键时外键发生的变化:
    • importedNoAction - 如果已经被导入,则不允许更新主键
    • importedKeyCascade - 将导入的键更改为与主键更新一致
    • importedKeySetNull - 如果已更新导入键的主键,则将导入键更改为 NULL
    • importedKeySetDefault - 如果已更新导入键的主键,则将导入键更改为默认值
    • importedKeyRestrict - 与 importedKeyNoAction 相同(为了与 ODBC 2.x 兼容)
  11. DELETE_RULE short => 删除主键时外键发生的变化。
    • importedKeyNoAction - 如果已经导入,则不允许删除主键
    • importedKeyCascade - 删除导入删除键的行
    • importedKeySetNull - 如果已删除导入键的主键,则将导入键更改为 NULL
    • importedKeyRestrict - 与 importedKeyNoAction 相同(为了与 ODBC 2.x 兼容)
    • importedKeySetDefault - 如果已删除导入键的主键,则将导入键更改为默认值
  12. FK_NAME String => 外键的名称(可为 null
  13. PK_NAME String => 主键的名称(可为 null
  14. DEFERRABILITY short => 是否可以将对外键约束的评估延迟到提交时间
    • importedKeyInitiallyDeferred - 有关定义,请参见 SQL92
    • importedKeyInitiallyImmediate - 有关定义,请参见 SQL92
    • importedKeyNotDeferrable - 有关定义,请参见 SQL92
catalog
zh_cn
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schema
zh_cn
模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那 些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
table
zh_cn
表名称;它必须与存储在数据库中的表名称匹配
return
zh_cn
ResultSet - 每一行都是一个主键列描述
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
See alsogetExportedKeys
public ResultSetgetIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate) throws SQLException
zh_cn
获取给定表的索引和统计信息的描述。它们根据 NON_UNIQUE、TYPE、INDEX_NAME 和 ORDINAL_POSITION 进行排序。

每个索引列描述都有以下列:

  1. TABLE_CAT String => 表类别(可为 null
  2. TABLE_SCHEM String => 表模式(可为 null
  3. TABLE_NAME String => 表名称
  4. NON_UNIQUE boolean => 索引值是否可以不唯一。TYPE 为 tableIndexStatistic 时索引值为 false
  5. INDEX_QUALIFIER String => 索引类别(可为 null);TYPE 为 tableIndexStatistic 时索引类别为 null
  6. INDEX_NAME String => 索引名称;TYPE 为 tableIndexStatistic 时索引名称为 null
  7. TYPE short => 索引类型:
    • tableIndexStatistic - 此标识与表的索引描述一起返回的表统计信息
    • tableIndexClustered - 此为集群索引
    • tableIndexHashed - 此为散列索引
    • tableIndexOther - 此为某种其他样式的索引
  8. ORDINAL_POSITION short => 索引中的列序列号;TYPE 为 tableIndexStatistic 时该序列号为零
  9. COLUMN_NAME String => 列名称;TYPE 为 tableIndexStatistic 时列名称为 null
  10. ASC_OR_DESC String => 列排序序列,"A" => 升序,"D" => 降序,如果排序序列不受支持,可能为 null;TYPE 为 tableIndexStatistic 时排序序列为 null
  11. CARDINALITY int => TYPE 为 tableIndexStatistic 时,它是表中的行数;否则,它是索引中唯一值的数量。
  12. PAGES int => TYPE 为 tableIndexStatisic 时,它是用于表的页数,否则它是用于当前索引的页数。
  13. FILTER_CONDITION String => 过滤器条件,如果有的话。(可能为 null
catalog
zh_cn
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schema
zh_cn
模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那 些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
table
zh_cn
表名称;它必须与存储在数据库中的表名称匹配
unique
zh_cn
该参数为 true 时,仅返回唯一值的索引;该参数为 false 时,返回所有索引,不管它们是否唯一
approximate
zh_cn
该参数为 true 时,允许结果是接近的数据值或这些数据值以外的值;该参数为 false 时,要求结果是精确结果
return
zh_cn
ResultSet - 每一行都是一个索引列描述
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetJDBCMajorVersion() throws SQLException
zh_cn
获取此驱动程序的主 JDBC 版本号。
return
zh_cn
JDBC 的主版本号
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.4
public intgetJDBCMinorVersion() throws SQLException
zh_cn
获取此驱动程序的次 JDBC 版本号。
return
zh_cn
JDBC 的次版本号
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.4
public intgetMaxBinaryLiteralLength() throws SQLException
zh_cn
获取此数据库允许在内嵌二进制字面值中使用的最大十六进制字符数。
return
zh_cn
max,即用于二进制字面值的最大长度(十六进制字符形式);结果为零意味着没有限制或限制是未知的
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetMaxCatalogNameLength() throws SQLException
zh_cn
获取此数据库允许用于类别名称的最大字符数。
return
zh_cn
允许用于类别名称的最大字符数;结果为零意味着没有限制或限制是未知的
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetMaxCharLiteralLength() throws SQLException
zh_cn
获取此数据库允许用于字符字面值的最大字符数。
return
zh_cn
允许用于字符字面值的最大字符数;结果为零意味着没有限制或限制是未知的
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetMaxColumnNameLength() throws SQLException
zh_cn
获取此数据库允许用于列名称的最大字符数。
return
zh_cn
允许用于列名称的最大字符数;结果为零意味着没有限制或限制是未知的
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetMaxColumnsInGroupBy() throws SQLException
zh_cn
获取此数据库允许在 GROUP BY 子句中使用的最大列数。
return
zh_cn
所允许的最大列数;结果为零意味着没有限制或限制是未知的
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetMaxColumnsInIndex() throws SQLException
zh_cn
获取此数据库允许在索引中使用的最大列数。
return
zh_cn
所允许的最大列数;结果为零意味着没有限制或限制是未知的
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetMaxColumnsInOrderBy() throws SQLException
zh_cn
获取此数据库允许在 ORDER BY 子句中使用的最大列数。
return
zh_cn
所允许的最大列数;结果为零意味着没有限制或限制是未知的
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetMaxColumnsInSelect() throws SQLException
zh_cn
获取此数据库允许在 SELECT 列表中使用的最大列数。
return
zh_cn
所允许的最大列数;结果为零意味着没有限制或限制是未知的
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetMaxColumnsInTable() throws SQLException
zh_cn
获取此数据库允许在表中使用的最大列数。
return
zh_cn
所允许的最大列数;结果为零意味着没有限制或限制是未知的
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetMaxConnections() throws SQLException
zh_cn
获取连接到此数据库的并发连接的可能最大数。
return
zh_cn
在某一时间可能的活动连接的最大数;结果为零意味着没有限制或限制是未知的
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetMaxCursorNameLength() throws SQLException
zh_cn
获取此数据库允许用于游标名称的最大字符数。
return
zh_cn
允许用于游标名称的最大字符数;结果为零意味着没有限制或限制是未知的
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetMaxIndexLength() throws SQLException
zh_cn
获取此数据库允许用于索引(包括索引的所有部分)的最大字节数。
return
zh_cn
所允许的最大字节数;这一限制由该索引所有组成部分的组成;结果为零意味着没有限制或者限制是未知的
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetMaxProcedureNameLength() throws SQLException
zh_cn
获取此数据库允许用于过程名称的最大字符数。
return
zh_cn
允许用于过程名称的最大字符数;结果为零意味着没有限制或限制是未知的
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetMaxRowSize() throws SQLException
zh_cn
获取此数据库允许在单行中使用的最大字节数。
return
zh_cn
允许在行中使用的最大字节数;结果为零意味着没有限制或限制是未知的
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetMaxSchemaNameLength() throws SQLException
zh_cn
获取此数据库允许在模式名称中使用的最大字符数。
return
zh_cn
允许用于模式名称的最大字符数;结果为零意味着没有限制或限制是未知的
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetMaxStatementLength() throws SQLException
zh_cn
获取此数据库允许在 SQL 语句中使用的最大字符数。
return
zh_cn
允许在 SQL 语句中使用的最大字符数;结果为零意味着没有限制或限制是未知的
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetMaxStatements() throws SQLException
zh_cn
获取在此数据库中在同一时间内可处于开放状态的最大活动语句数。
return
zh_cn
在某一时间可同时处于开放状态的最大语句数;结果为零意味着没有限制或限制是未知的
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetMaxTableNameLength() throws SQLException
zh_cn
获取此数据库允许在表名称中使用的最大字符数。
return
zh_cn
允许用于表名称的最大字符数;结果为零意味着没有限制或限制是未知的
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetMaxTablesInSelect() throws SQLException
zh_cn
获取此数据库允许在 SELECT 语句中使用的表的最大数量。
return
zh_cn
允许在 SELECT 语句中使用的表的最大数量;结果为零意味着没有限制或限制是未知的
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetMaxUserNameLength() throws SQLException
zh_cn
获取此数据库允许在用户名称中使用的最大字符数。
return
zh_cn
允许用于用户名称的最大字符数;结果为零意味着没有限制或限制是未知的
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public StringgetNumericFunctions() throws SQLException
zh_cn
获取可用于此数据库的数学函数的逗号分隔列表。这些是用于 JDBC 函数转义子句中的 Open /Open CLI 数学函数名称。
return
zh_cn
此数据库支持的数学函数的列表
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public ResultSetgetPrimaryKeys(String catalog, String schema, String table) throws SQLException
zh_cn
获取对给定表的主键列的描述。它们根据 COLUMN_NAME 进行排序。

每个主键列描述都有以下列:

  1. TABLE_CAT String => 表类别(可为 null
  2. TABLE_SCHEM String => 表模式(可为 null
  3. TABLE_NAME String => 表名称
  4. COLUMN_NAME String => 列名称
  5. KEY_SEQ short => 主键中的序列号(值 1 表示主键中的第一列,值 2 表示主键中的第二列)。
  6. PK_NAME String => 主键的名称(可为 null
catalog
zh_cn
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schema
zh_cn
模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那 些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
table
zh_cn
表名称;它必须与存储在数据库中的表名称匹配
return
zh_cn
ResultSet - 每一行都是一个主键列描述
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public ResultSetgetProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, StringcolumnNamePattern) throws SQLException
zh_cn
获取给定类别的存储过程参数和结果列的描述。

仅返回与模式、过程和参数名称标准匹配的描述。它们根据 PROCEDURE_CAT、PROCEDURE_SCHEM、PROCEDURE_NAME 和 SPECIFIC_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 => scale - 对于 SCALE 不适用的数据类型返回 null。
  11. RADIX short => 基数
  12. NULLABLE short => 是否可以包含 NULL。
    • procedureNoNulls - 不允许使用 NULL 值
    • procedureNullable - 允许使用 NULL 值
    • procedureNullableUnknown - 不知道是否可使用 null
  13. REMARKS String => 描述参数/列的注释
  14. COLUMN_DEF String => 列的默认值,当该值在单引号内时被解释为一个字符串(可以为 null
    • 字符串 NULL(不在引号内)- 如果 NULL 作为默认值指定
    • TRUNCATE(不在引号内) - 如果指定的默认值截取后才能被表示
    • NULL - 如果没有指定默认值
  15. SQL_DATA_TYPE int => 保留供以后使用
  16. SQL_DATETIME_SUB int => 保留供以后使用
  17. CHAR_OCTET_LENGTH int => 基于二进制和字符的列的最大长度。对于任何其他数据类型,返回值为 NULL
  18. ORDINAL_POSITION int => 顺序位置,对于过程的输入和输出参数该位置从 1 开始。如果此行描述过程的返回值,则返回值 0。对于结果集列,它是从 1 开始的结果集中列的顺序位置。如果有多个结果集,则列顺序位置是已定义的实现。
  19. IS_NULLABLE String => ISO 规则用于确定列是否可以包括 null。
    • YES --- 如果参数可以包括 NULL
    • NO --- 如果参数不可以包括 NULL
    • 空字符串 --- 如果不知道参数是否可以包括 Null
  20. SPECIFIC_NAME String => 唯一标识其模式中此过程的名称。

注:有些数据库可能不为过程返回列描述。

PRECISION 列表示给定列的指定列大小。对于数值数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是 String 表示形式的字符长度(假定允许的最大小数秒组件的精度)。对于二进制数据,这是字节长度。对于 ROWID 数据类型,这是字节长度。对于列大小不适用的数据类型,则返回 Null。

catalog
zh_cn
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schemaPattern
zh_cn
模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
procedureNamePattern
zh_cn
过程名称模式;它必须与存储在数据库中的过程名称匹配
columnNamePattern
zh_cn
列名称模式;它必须与存储在数据库中的列名称匹配
return
zh_cn
ResultSet - 每一行都描述一个存储过程参数或列
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
See alsogetSearchStringEscape

public ResultSetgetProcedures(String catalog, String schemaPattern, String procedureNamePattern) throws SQLException
zh_cn
获取可在给定类别中使用的存储过程的描述。

仅返回与模式和过程名称标准匹配的过程。它们根据 PROCEDURE_CATPROCEDURE_SCHEMPROCEDURE_NAME 和 SPECIFIC_ 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 - 返回一个返回值
  9. SPECIFIC_NAME String => 唯一标识其模式中此过程的名称。

用户可能不具有执行 getProcedures 返回的所有过程的权限

catalog
zh_cn
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schemaPattern
zh_cn
模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
procedureNamePattern
zh_cn
过程名称模式;它必须与存储在数据库中的过程名称匹配
return
zh_cn
ResultSet - 每个行都是一个过程描述
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
See alsogetSearchStringEscape

public StringgetProcedureTerm() throws SQLException
zh_cn
获取数据库供应商用于 "procedure" 的首选术语。
return
zh_cn
供应商用于 "procedure" 的术语
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public booleanisReadOnly() throws SQLException
zh_cn
获取此数据库是否处于只读模式。
return
zh_cn
如果是这样,则返回 true;否则返回 false
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetResultSetHoldability() throws SQLException
zh_cn
针对 ResultSet 对象获取此数据库的默认可保存性。
return
zh_cn
默认可保存性,它是 ResultSet.HOLD_CURSORS_OVER_COMMIT 或ResultSet.CLOSE_CURSORS_AT_COMMIT
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.4
public RowIdLifetimegetRowIdLifetime() throws SQLException
zh_cn
指示此数据源是否支持 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
zh_cn
指示 RowId 生存期的状态
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.6
public ResultSetgetSchemas() throws SQLException
zh_cn
获取可在此数据库中使用的模式名称。可根据 TABLE_CATALOG 和 TABLE_SCHEM 对结果进行排序。

模式列为:

  1. TABLE_SCHEM String => 模式名称
  2. TABLE_CATALOG String => 类别名称(可为 null
return
zh_cn
ResultSet 对象,在该对象中,每一行都是一个模式描述
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public ResultSetgetSchemas(String catalog, String schemaPattern) throws SQLException
zh_cn
获取可在此数据库中使用的模式名称。可根据 TABLE_CATALOG 和 TABLE_SCHEM 对结果进行排序。

模式列为:

  1. TABLE_SCHEM String => 模式名称
  2. TABLE_CATALOG String => 类别名称(可为 null
catalog
zh_cn
类别名称;它必须与存储在数据库中的类别名称匹配;为 "" 表示获取没有类别的模式名称;为 null 表示该类别名称不应该用于缩小搜索范围。
schemaPattern
zh_cn
模式名称;它必须与存储在数据库中的模式名称匹配;为 null 则表示该模式名称不应该用于缩小搜索范围。
return
zh_cn
每行是一个模式描述的 ResultSet 对象
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.6
See alsogetSearchStringEscape
public StringgetSchemaTerm() throws SQLException
zh_cn
获取数据库供应商用于 "schema" 的首选术语。
return
zh_cn
供应商用于 "schema" 的术语
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public StringgetSearchStringEscape() throws SQLException
zh_cn
获取可用于转义通配符的字符串。该字符串是可用于在类别搜索参数中转义 '_' 或 '%' 的字符串,这些类别搜索参数表示模式(因此使用通配符之一)。

'_' 字符表示任何单个字符;'%' 字符表示零个或多个字符的任意序列。

return
zh_cn
用于转义通配符的字符串
ThrowsSQLException
zh_cn
如果发生数据库访问错误。

public StringgetSQLKeywords() throws SQLException
zh_cn
获取此数据库的还“不”是 SQL:2003 关键字的所有 SQL 关键字的逗号分隔列表。
return
zh_cn
此数据库的还不是 SQL:2003 关键字的那些关键字组成的列表
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public intgetSQLStateType() throws SQLException
zh_cn
指示由 SQLException.getSQLState 返回的 SQLSTATE 是 X/Open(现在称为 Open Group)SQL CLI 还是 SQL:2003。
return
zh_cn
SQLSTATE 的类型,它为 sqlStateXOpen 或 sqlStateSQL 之一
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.4
public StringgetStringFunctions() throws SQLException
zh_cn
获取可用于此数据库的字符串函数的逗号分隔列表。这些是用于 JDBC 函数转义子句中的 Open Group CLI 字符串函数名称。
return
zh_cn
受此数据库支持的字符串函数的列表
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public ResultSetgetSuperTables(String catalog, String schemaPattern, String tableNamePattern) throws SQLException
zh_cn
获取在此数据库的特定模式中定义的表分层结构的描述。

仅返回与类别、模式和表名称匹配的表的超表 (supertable) 信息。表名称参数可能为完全限定名称,在这种情况下,可忽略 catalog 和 schemaPattern 参数。如果表没有超表,则它不会在这里列出。超表必须使用与子表相同的类别和模式来定义。所以,类型描述不必包含子表的此信息。

每个类型描述都有以下列:

  1. TABLE_CAT String => 类型的类别(可为 null
  2. TABLE_SCHEM String => 类型的模式(可为 null
  3. TABLE_NAME String => 类型名称
  4. SUPERTABLE_NAME String => 直接超类型的名称

注: 如果驱动程序不支持类型分层结构,则返回空结果集。

catalog
zh_cn
类别名称,该参数为 "" 表示获取没有类别的那些描述,为 null 则表示从选择标准中删除类别名称
schemaPattern
zh_cn
模式名称的模式,该参数为 "" 表示获取没有模式的那些描述
tableNamePattern
zh_cn
表名称模式,可以是一个完全限定名称
return
zh_cn
一个 ResultSet 对象,其中的每一行都是一个类型描述
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.4
See alsogetSearchStringEscape

public ResultSetgetSuperTypes(String catalog, String schemaPattern, String typeNamePattern) throws SQLException
zh_cn
获取在此数据库的特定模式中定义的用户定义类型 (UDT) 分层结构的描述。仅建模直接的超类型/子类型关系。

仅返回与类别、模式和类型名称匹配的用于 UDT 的超类型信息。类型名称参数可能为完全限定名称。当提供的 UDT 名称是完全限定名称时,忽略 catalog 和 schemaPattern 参数。

如果 UDT 没有直接的超类型,则它不会在这里列出。由此方法返回的 ResultSet 对象的一行描述了指定 UDT 和直接超类型。每一行都具有以下列:

  1. TYPE_CAT String => UDT 的类别(可为 null
  2. TYPE_SCHEM String => UDT 的模式(可为 null
  3. TYPE_NAME String => UDT 的类型名称
  4. SUPERTYPE_CAT String => 直接超类型的类别(可为 null
  5. SUPERTYPE_SCHEM String => 直接超类型的模式(可为 null
  6. SUPERTYPE_NAME String => 直接超类型的名称

注: 如果驱动程序不支持类型分层结构,则返回空结果集。

catalog
zh_cn
类别名称,该参数为 "" 表示获取没有类别的那些描述,为 null 则表示从选择标准中删除类别名称
schemaPattern
zh_cn
模式名称的模式,该参数为 "" 表示获取没有模式的那些描述
typeNamePattern
zh_cn
UDT 名称模式,可以是一个完全限定名称
return
zh_cn
ResultSet 对象,其中一行给出了关于指定 UDT 的信息
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.4
See alsogetSearchStringEscape

public StringgetSystemFunctions() throws SQLException
zh_cn
获取可用于此数据库的系统函数的逗号分隔列表。这些是用于 JDBC 函数转义子句中的 Open Group CLI 系统函数名称。
return
zh_cn
受此数据库支持的系统函数的列表
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public ResultSetgetTablePrivileges(String catalog, String schemaPattern, String tableNamePattern) throws SQLException
zh_cn
获取可在类别中使用的每个表的访问权的描述。注意,表特权可用于表中的一个或多个列。假定此特权可用于所有列是错误的(对于某些系统可能是正确的,但并非所有的系统都如此)。

仅返回与模式和表名称标准匹配的特权。它们根据 TABLE_CATTABLE_SCHEMTABLE_NAME 和 PRIVILEGE 进行排序。

每个特权描述都有以下列:

  1. TABLE_CAT String => 表类别(可为 null
  2. TABLE_SCHEM String => 表模式(可为 null
  3. TABLE_NAME String => 表名称
  4. GRANTOR String => 访问权的授权人(可为 null
  5. GRANTEE String => 访问权的被授权人
  6. PRIVILEGE String => 访问权的名称(SELECT、INSERT、UPDATE、REFRENCES 等)
  7. IS_GRANTABLE String => 如果允许被授权人将权利授予他人,则为 "YES";如果不允许,则为 "NO";如果未知,则为 null
catalog
zh_cn
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schemaPattern
zh_cn
模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
tableNamePattern
zh_cn
表名称模式;它必须与存储在数据库中的表名称匹配
return
zh_cn
ResultSet - 每个行都是一个表特权描述
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
See alsogetSearchStringEscape
public ResultSetgetTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) throws SQLException
zh_cn
获取可在给定类别中使用的表的描述。仅返回与类别、模式、表名称和类型标准匹配的表描述。它们根据TABLE_TYPETABLE_CATTABLE_SCHEM 和 TABLE_NAME 进行排序。

每个表描述都有以下列:

  1. TABLE_CAT String => 表类别(可为 null
  2. TABLE_SCHEM String => 表模式(可为 null
  3. TABLE_NAME String => 表名称
  4. TABLE_TYPE String => 表类型。典型的类型是 "TABLE"、"VIEW"、"SYSTEM TABLE"、"GLOBAL TEMPORARY"、"LOCAL TEMPORARY"、"ALIAS" 和 "SYNONYM"。
  5. REMARKS String => 表的解释性注释
  6. TYPE_CAT String => 类型的类别(可为 null
  7. TYPE_SCHEM String => 类型模式(可为 null
  8. TYPE_NAME String => 类型名称(可为 null
  9. SELF_REFERENCING_COL_NAME String => 有类型表的指定 "identifier" 列的名称(可为 null
  10. REF_GENERATION String => 指定在 SELF_REFERENCING_COL_NAME 中创建值的方式。这些值为 "SYSTEM"、"USER" 和 "DERIVED"。(可能为 null

注: 有些数据库可能不返回用于所有表的信息。

catalog
zh_cn
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schemaPattern
zh_cn
模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
tableNamePattern
zh_cn
表名称模式;它必须与存储在数据库中的表名称匹配
types
zh_cn
要包括的表类型所组成的列表,必须取自从 #getTableTypes 返回的表类型列表;null 表示返回所有类型
return
zh_cn
ResultSet - 每一行都是一个表描述
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
See alsogetSearchStringEscape

public ResultSetgetTableTypes() throws SQLException
zh_cn
获取可在此数据库中使用的表类型。可根据表类型对结果进行排序。

表类型为:

  1. TABLE_TYPE String => 表类型。典型的类型为 "TABLE"、"VIEW"、"SYSTEM TABLE"、"GLOBAL TEMPORARY"、"LOCAL TEMPORARY"、"ALIAS" 和 "SYNONYM"。
return
zh_cn
ResultSet 对象,在该对象中,每一行都有一个作为表类型的 String 列
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public StringgetTimeDateFunctions() throws SQLException
zh_cn
获取可用于此数据库的时间和日期函数的逗号分隔列表。
return
zh_cn
受此数据库支持的时间和日期函数的列表
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public ResultSetgetTypeInfo() throws SQLException
zh_cn
获取此数据库支持的所有数据类型的描述。它们先按照 DATA_TYPE 排序,然后按照数据类型映射表与相应的 JDBC SQL 类型的接近程度排序。

如果数据库支持 SQL 独特类型,则 getTypeInfo() 将返回一行类型为 DISTINCT 的 TYPE_NAME 和类型为 Types.DISTINCT 的 DATA_TYPE。如果数据库支持 SQL 结构类型,则 getTypeInfo() 将会返回一行类型为 STRUCT 的 TYPE_NAME 和类型为 Types.STRUCT 的 DATA_TYPE。

如果支持 SQL 独特类型和结构类型,则每种类型的信息可以从 getUDTs() 方法获得。

每个类型描述都有以下列:

  1. TYPE_NAME String => 类型名称
  2. DATA_TYPE int => 来自 java.sql.Types 的 SQL 数据类型
  3. PRECISION int => 最大精度
  4. LITERAL_PREFIX String => 用于引用字面值的前缀(可为 null
  5. LITERAL_SUFFIX String => 用于引用字面值的后缀(可为 null
  6. CREATE_PARAMS String => 用于创建类型的参数(可为 null
  7. NULLABLE short => 是否可对此类型使用 NULL。
    • typeNoNulls - 不允许使用 NULL 值
    • typeNullable - 允许使用 NULL 值
    • typeNullableUnknown - 不知道是否可使用 null
  8. CASE_SENSITIVE boolean=> 是否区分大小写。
  9. SEARCHABLE short => 是否可以基于此类型使用 "WHERE":
    • typePredNone - 不支持
    • typePredChar - 仅支持 WHERE ..LIKE
    • typePredBasic - 除 WHERE ..LIKE 以外都受支持
    • typeSearchable - 所有 WHERE ..都受支持
  10. UNSIGNED_ATTRIBUTE boolean => 是否不带符号。
  11. FIXED_PREC_SCALE boolean => 是否可以为钱币值。
  12. AUTO_INCREMENT boolean => 是否可以用于自动增量值。
  13. LOCAL_TYPE_NAME String => 类型名称的本地版(可为 null
  14. MINIMUM_SCALE short => 受支持的最小标度
  15. MAXIMUM_SCALE short => 受支持的最大标度
  16. SQL_DATA_TYPE int => 未被使用
  17. SQL_DATETIME_SUB int => 未被使用
  18. NUM_PREC_RADIX int => 通常为 2 或 10

对于给定数据类型,PRECISION 列表示服务器支持的最大列大小。对于数值数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是 String 表示形式的字符长度(假定允许的最大小数秒组件的精度)。对于二进制数据,这是字节长度。对于 ROWID 数据类型,这是字节长度。对于列大小不适用的数据类型,则返回 Null。

return
zh_cn
ResultSet 对象,在此对象中,每一行都是一个 SQL 类型描述
ThrowsSQLException
zh_cn
如果发生数据库访问错误。

public ResultSetgetUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types) throws SQLException
zh_cn
获取在特定模式中定义的用户定义类型 (UDT) 的描述。特定于模式的 UDT 可能具有类型 JAVA_OBJECTSTRUCT 或DISTINCT

仅返回与类别、模式、类型名称和类型标准匹配的类型。它们根据 DATA_TYPETYPE_CATTYPE_SCHEM 和 TYPE_NAME 进行排序。类型名称参数可能为完全限定名称。在这种情况下,忽略 catalog 和 schemaPattern 参数。

每个类型描述都有以下列:

  1. TYPE_CAT String => 类型的类别(可为 null
  2. TYPE_SCHEM String => 类型的模式(可为 null
  3. TYPE_NAME String => 类型名称
  4. CLASS_NAME String => Java 类名称
  5. DATA_TYPE int => 在 java.sql.Types 中定义的类型值,它是 JAVA_OBJECT、STRUCT 或 DISTINCT 之一
  6. REMARKS String => 类型的解释性注释
  7. BASE_TYPE short => DISTINCT 类型或实现结构类型的 SELF_REFERENCING_COLUMN 的用户生成引用类型的类型的源类型类型代码,正如在 java.sql.Types 中定义的那样(如果 DATA_TYPE 不是 DISTINCT 或者不是带有 REFERENCE_GENERATION = USER_DEFINED 的 STRUCT,则该类型代码为 null

注: 如果驱动程序不支持 UDT,则返回空结果集。

catalog
zh_cn
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schemaPattern
zh_cn
模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
typeNamePattern
zh_cn
类型名称模式;它必须与存储在数据库中的类型名称匹配,它可以是一个完全限定名称
types
zh_cn
将包括的用户定义类型(JAVA_OBJECT、STRUCT 或 DISTINCT)组成的列表;该参数为 null 则返回所有类型
return
zh_cn
ResultSet 对象,其中每一行都描述了一个 UDT
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
since1.2
See alsogetSearchStringEscape

public StringgetURL() throws SQLException
zh_cn
获取此 DBMS 的 URL。
return
zh_cn
此 DBMS 的 URL,如果无法生成该 URL,则返回 null
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public StringgetUserName() throws SQLException
zh_cn
获取此数据库的已知的用户名称。
return
zh_cn
数据库用户名称
ThrowsSQLException
zh_cn
如果发生数据库访问错误。
public ResultSetgetVersionColumns(String catalog, String schema, String table) throws SQLException
zh_cn
获取在更新行中的任意值时自动更新的表列的描述。它们是无序的。

每个列描述都有以下列:

  1. SCOPE short => 未被使用
  2. COLUMN_NAME String => 列名称
  3. DATA_TYPE int => 来自 java.sql.Types 的 SQL 数据类型
  4. TYPE_NAME String => 依赖数据源的类型名称
  5. COLUMN_SIZE int => 精度
  6. BUFFER_LENGTH int => 列值的长度,以字节为单位
  7. DECIMAL_DIGITS short => 标度,对于 DECIMAL_DIGITS 不适用的数据类型,则返回 Null。
  8. PSEUDO_COLUMN short => 此是否为类似 Oracle ROWID 的伪列
    • versionColumnUnknown - 可能是伪列,也可能不是
    • versionColumnNotPseudo - “不”是伪列
    • versionColumnPseudo - 是伪列

COLUMN_SIZE 列表示给定列的指定列大小。对于数值数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是 String 表示形式字符长度(假定允许的最大小数秒组件的精度)。对于二进制数据,这是字节长度。对于 ROWID 数据类型,这是字节长度。对于列大小不适用的数据类型,则返回 Null。

catalog
zh_cn
类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schema
zh_cn
模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那 些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
table
zh_cn
表名称;它必须与存储在数据库中的表名称匹配
return
zh_cn
一个 ResultSet 对象,在该对象中,每一行都是一个列描述
ThrowsSQLException
zh_cn
如果发生数据库访问错误。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值