JavaTM Platform
Standard Ed. 6

java.sql
接口 DatabaseMetaData

所有超级接口:
Wrapper

public interface DatabaseMetaData
extends Wrapper

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

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

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

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

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


字段摘要
static short attributeNoNulls
          指示可能不允许使用 NULL 值。
static short attributeNullable
          指示明确允许使用 NULL 值。
static short attributeNullableUnknown
          指示不知道是否允许使用 NULL 值。
static int bestRowNotPseudo
          指示最佳行标识符“不”是伪列。
static int bestRowPseudo
          指示最佳行标识符是伪列。
static int bestRowSession
          指示最佳行标识符的作用域是当前会话的剩余部分。
static int bestRowTemporary
          指示最佳行标识符的作用域是临时的,仅在使用该行时可用。
static int bestRowTransaction
          指示最佳行标识符的作用域是当前事务的剩余部分。
static int bestRowUnknown
          指示最佳行标识符可能是伪列 (pseudo column),也可能不是。
static int columnNoNulls
          指示列中可能不允许使用 NULL 值。
static int columnNullable
          指示列中明确允许使用 NULL 值。
static int columnNullableUnknown
          指示不知道列是否可为 null。
static int functionColumnIn
          指示参数或列是一个 IN 参数。
static int functionColumnInOut
          指示参数或列是一个 INOUT 参数。
static int functionColumnOut
          指示参数或列是一个 OUT 参数。
static int functionColumnResult
          指示参数或列是结果集中的一列。
static int functionColumnUnknown
          指示该类型的参数或列未知。
static int functionNoNulls
          指示不允许 NULL 值。
static int functionNoTable
          指示函数不返回一个表。
static int functionNullable
          指示允许 NULL 值。
static int functionNullableUnknown
          指示是否允许 NULL 值是未知的。
static int functionResultUnknown
          指示不知道函数是返回一个结果还是一个表。
static int functionReturn
          指示参数或列是一个返回值。
static int functionReturnsTable
          指示函数返回一个表。
static int importedKeyCascade
          对于 UPDATE_RULE 列,指示在更新主键时,外键(导入的键)的更改要与之一致。
static int importedKeyInitiallyDeferred
          指示可延迟性。
static int importedKeyInitiallyImmediate
          指示可延迟性。
static int importedKeyNoAction
          对于 UPDATE_RULEDELETE_RULE 列,指示如果主键已导入,则无法更新或删除它。
static int importedKeyNotDeferrable
          指示可延迟性。
static int importedKeyRestrict
          对于 UPDATE_RULE 列,指示如果主键已被另一个表作为外键导入,则可能不更新该主键。
static int importedKeySetDefault
          对于 UPDATE_RULEDELETE_RULE 列,指示如果更新或删除了主键,则将外键(导入的键)设置为默认值。
static int importedKeySetNull
          对于 UPDATE_RULEDELETE_RULE 列,指示在更新或删除主键时,将外键(导入的键)更改为 NULL
static int procedureColumnIn
          指示列中存储了 IN 参数。
static int procedureColumnInOut
          指示列中存储了 INOUT 参数。
static int procedureColumnOut
          指示列中存储了 OUT 参数。
static int procedureColumnResult
          指示列中存储了结果。
static int procedureColumnReturn
          指示列中存储了返回值。
static int procedureColumnUnknown
          指示列的类型为未知。
static int procedureNoNulls
          指示不允许使用 NULL 值。
static int procedureNoResult
          指示过程不返回结果。
static int procedureNullable
          指示允许使用 NULL 值。
static int procedureNullableUnknown
          指示不知道是否允许使用 NULL 值。
static int procedureResultUnknown
          指示不知道过程是否返回结果。
static int procedureReturnsResult
          指示过程返回结果。
static int sqlStateSQL
          DatabaseMetaData.getSQLStateType 方法一个可能的返回值,用于指示 SQLException.getSQLState 方法返回的值是否是一个 SQLSTATE 值。
static int sqlStateSQL99
          DatabaseMetaData.getSQLStateType 方法一个可能的返回值,用于指示 SQLException.getSQLState 方法返回的值是否是一个 SQL99 SQLSTATE 值。
static int sqlStateXOpen
          DatabaseMetaData.getSQLStateType 方法一个可能的返回值,用于指示 SQLException.getSQLState 返回的值是否是一个 X/Open(现在称为 Open Group)SQL CLI SQLSTATE 值。
static short tableIndexClustered
          指示此表索引是一个集群索引 (clustered index)。
static short tableIndexHashed
          指示此表索引是一个散列索引。
static short tableIndexOther
          指示此表索引不是集群索引、散列索引或表统计信息,它是其他某种东西。
static short tableIndexStatistic
          指示此列包含与表的索引描述一起返回的表统计信息。
static int typeNoNulls
          指示“不”允许对这种数据类型使用 NULL 值。
static int typeNullable
          指示允许对这种数据类型使用 NULL 值。
static int typeNullableUnknown
          指示不知道是否允许对这种数据类型使用 NULL 值。
static int typePredBasic
          指示该数据类型只能用于不使用 LIKE 谓词的 WHERE 搜索子句中。
static int typePredChar
          指示该数据类型只能用于使用 LIKE 谓词的 WHERE 搜索子句中。
static int typePredNone
          指示不支持将 WHERE 搜索子句用于这种类型。
static int typeSearchable
          指示在此类型上可以建立所有 WHERE 搜索子句。
static int versionColumnNotPseudo
          指示这种版本的列“不”是伪列。
static int versionColumnPseudo
          指示这种版本的列是伪列。
static int versionColumnUnknown
          指示这种版本的列可能是伪列,也可能不是。
 
方法摘要
 boolean allProceduresAreCallable()
          获取当前用户是否可以调用 getProcedures 方法返回的所有过程。
 boolean allTablesAreSelectable()
          获取当前用户是否可以使用 SELECT 语句中的 getTables 方法返回的所有表。
 boolean autoCommitFailureClosesAllResultSets()
          当 autoCommit 为 true 时,获取 SQLException 是否指示所有打开的 ResultSets 已关闭(包括那些可保持的)。
 boolean dataDefinitionCausesTransactionCommit()
          获取事务中的数据定义语句是否强迫该事务进行提交。
 boolean dataDefinitionIgnoredInTransactions()
          获取此数据库是否忽略事务中的数据定义语句。
 boolean deletesAreDetected(int type)
          获取是否可以通过调用 ResultSet.rowDeleted 方法检测可见行的删除。
 boolean doesMaxRowSizeIncludeBlobs()
          获取 getMaxRowSize 方法的返回值是否包括 SQL 数据类型 LONGVARCHARLONGVARBINARY
 ResultSet getAttributes(String catalog, String schemaPattern, String typeNamePattern, String attributeNamePattern)
          获取可在给定模式和类别中使用的用户定义类型 (UDT) 的给定类型的给定属性的描述。
 ResultSet getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable)
          获取唯一标识行的表的最佳列集合的描述。
 ResultSet getCatalogs()
          获取可在此数据库中使用的类别名称。
 String getCatalogSeparator()
          获取此数据库用作类别和表名之间的分隔符的 String
 String getCatalogTerm()
          获取数据库供应商用于 "catalog" 的首选术语。
 ResultSet getClientInfoProperties()
          获取驱动程序支持的客户端信息属性的列表。
 ResultSet getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern)
          获取用于表列的访问权的描述。
 ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern)
          获取可在指定类别中使用的表列的描述。
 Connection getConnection()
          获取此元数据对象所产生的连接。
 ResultSet getCrossReference(String parentCatalog, String parentSchema, String parentTable, String foreignCatalog, String foreignSchema, String foreignTable)
          获取给定外键列表中外键列的描述,这些列引用主键或表示父表(可能是相同的表,也可能是不同的表)唯一约束的列。
 int getDatabaseMajorVersion()
          获取底层数据库的主版本号。
 int getDatabaseMinorVersion()
          底层数据库的次版本号。
 String getDatabaseProductName()
          获取此数据库产品的名称。
 String getDatabaseProductVersion()
          获取此数据库产品的版本号。
 int getDefaultTransactionIsolation()
          获取此数据库的默认事务隔离级别。
 int getDriverMajorVersion()
          获取此 JDBC 驱动程序的主版本号。
 int getDriverMinorVersion()
          获取此 JDBC 驱动程序的次版本号。
 String getDriverName()
          获取此 JDBC 驱动程序的名称。
 String getDriverVersion()
          获取此 JDBC 驱动程序的 String 形式的版本号。
 ResultSet getExportedKeys(String catalog, String schema, String table)
          获取引用给定表的主键列(表导入的外键)的外键列的描述。
 String getExtraNameCharacters()
          获取可以在不带引号的标识符名称中使用的所有“额外”字符(除了 a-z、A-Z、0-9 和 _ 以外的字符)。
 ResultSet getFunctionColumns(String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern)
          获取给定类别的系统或用户函数参数和返回类型的描述。
 ResultSet getFunctions(String catalog, String schemaPattern, String functionNamePattern)
          获取给定类别中可用的系统和用户函数的描述。
 String getIdentifierQuoteString()
          获取用于引用 SQL 标识符的字符串。
 ResultSet getImportedKeys(String catalog, String schema, String table)
          获取由给定表的外键列(表导入的主键)引用的主键列的描述。
 ResultSet getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate)
          获取给定表的索引和统计信息的描述。
 int getJDBCMajorVersion()
          获取此驱动程序的主 JDBC 版本号。
 int getJDBCMinorVersion()
          获取此驱动程序的次 JDBC 版本号。
 int getMaxBinaryLiteralLength()
          获取此数据库允许在内嵌二进制字面值中使用的最大十六进制字符数。
 int getMaxCatalogNameLength()
          获取此数据库允许用于类别名称的最大字符数。
 int getMaxCharLiteralLength()
          获取此数据库允许用于字符字面值的最大字符数。
 int getMaxColumnNameLength()
          获取此数据库允许用于列名称的最大字符数。
 int getMaxColumnsInGroupBy()
          获取此数据库允许在 GROUP BY 子句中使用的最大列数。
 int getMaxColumnsInIndex()
          获取此数据库允许在索引中使用的最大列数。
 int getMaxColumnsInOrderBy()
          获取此数据库允许在 ORDER BY 子句中使用的最大列数。
 int getMaxColumnsInSelect()
          获取此数据库允许在 SELECT 列表中使用的最大列数。
 int getMaxColumnsInTable()
          获取此数据库允许在表中使用的最大列数。
 int getMaxConnections()
          获取连接到此数据库的并发连接的可能最大数。
 int getMaxCursorNameLength()
          获取此数据库允许用于游标名称的最大字符数。
 int getMaxIndexLength()
          获取此数据库允许用于索引(包括索引的所有部分)的最大字节数。
 int getMaxProcedureNameLength()
          获取此数据库允许用于过程名称的最大字符数。
 int getMaxRowSize()
          获取此数据库允许在单行中使用的最大字节数。
 int getMaxSchemaNameLength()
          获取此数据库允许在模式名称中使用的最大字符数。
 int getMaxStatementLength()
          获取此数据库允许在 SQL 语句中使用的最大字符数。
 int getMaxStatements()
          获取在此数据库中在同一时间内可处于开放状态的最大活动语句数。
 int getMaxTableNameLength()
          获取此数据库允许在表名称中使用的最大字符数。
 int getMaxTablesInSelect()
          获取此数据库允许在 SELECT 语句中使用的表的最大数量。
 int getMaxUserNameLength()
          获取此数据库允许在用户名称中使用的最大字符数。
 String getNumericFunctions()
          获取可用于此数据库的数学函数的逗号分隔列表。
 ResultSet getPrimaryKeys(String catalog, String schema, String table)
          获取对给定表的主键列的描述。
 ResultSet getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern)
          获取给定类别的存储过程参数和结果列的描述。
 ResultSet getProcedures(String catalog, String schemaPattern, String procedureNamePattern)
          获取可在给定类别中使用的存储过程的描述。
 String getProcedureTerm()
          获取数据库供应商用于 "procedure" 的首选术语。
 int getResultSetHoldability()
          针对 ResultSet 对象获取此数据库的默认可保存性。
 RowIdLifetime getRowIdLifetime()
          指示此数据源是否支持 SQL ROWID 类型,如果支持,则 RowId 对象在该类型的生存期内持续有效。
 ResultSet getSchemas()
          获取可在此数据库中使用的模式名称。
 ResultSet getSchemas(String catalog, String schemaPattern)
          获取此数据库中可用的模式名称。
 String getSchemaTerm()
          获取数据库供应商用于 "schema" 的首选术语。
 String getSearchStringEscape()
          获取可用于转义通配符的字符串。
 String getSQLKeywords()
          获取此数据库的还“不”是 SQL:2003 关键字的所有 SQL 关键字的逗号分隔列表。
 int getSQLStateType()
          指示由 SQLException.getSQLState 返回的 SQLSTATE 是 X/Open(现在称为 Open Group)SQL CLI 还是 SQL:2003。
 String getStringFunctions()
          获取可用于此数据库的字符串函数的逗号分隔列表。
 ResultSet getSuperTables(String catalog, String schemaPattern, String tableNamePattern)
          获取在此数据库的特定模式中定义的表分层结构的描述。
 ResultSet getSuperTypes(String catalog, String schemaPattern, String typeNamePattern)
          获取在此数据库的特定模式中定义的用户定义类型 (UDT) 分层结构的描述。
 String getSystemFunctions()
          获取可用于此数据库的系统函数的逗号分隔列表。
 ResultSet getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern)
          获取可在类别中使用的每个表的访问权的描述。
 ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types)
          获取可在给定类别中使用的表的描述。
 ResultSet getTableTypes()
          获取可在此数据库中使用的表类型。
 String getTimeDateFunctions()
          获取可用于此数据库的时间和日期函数的逗号分隔列表。
 ResultSet getTypeInfo()
          获取此数据库支持的所有数据类型的描述。
 ResultSet getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types)
          获取在特定模式中定义的用户定义类型 (UDT) 的描述。
 String getURL()
          获取此 DBMS 的 URL。
 String getUserName()
          获取此数据库的已知的用户名称。
 ResultSet getVersionColumns(String catalog, String schema, String table)
          获取在更新行中的任意值时自动更新的表列的描述。
 boolean insertsAreDetected(int type)
          获取是否可以通过调用 ResultSet.rowInserted 方法检测可见行的插入。
 boolean isCatalogAtStart()
          获取某个类别是否出现在完全限定表名的开头。
 boolean isReadOnly()
          获取此数据库是否处于只读模式。
 boolean locatorsUpdateCopy()
          指示对 LOB 的更新是在副本上进行还是直接更新到 LOB。
 boolean nullPlusNonNullIsNull()
          获取此数据库是否支持 NULL 值与等于 NULL 的非 NULL 值之间的连接。
 boolean nullsAreSortedAtEnd()
          获取 NULL 值是否始终排在末尾,不管排序顺序如何。
 boolean nullsAreSortedAtStart()
          获取 NULL 值是否始终排在开头,不管排序顺序如何。
 boolean nullsAreSortedHigh()
          获取 NULL 值是否被高排序。
 boolean nullsAreSortedLow()
          获取 NULL 值是否被低排序。
 boolean othersDeletesAreVisible(int type)
          获取由其他结果集类型进行的删除是否可见。
 boolean othersInsertsAreVisible(int type)
          获取由其他结果集类型进行的插入是否可见。
 boolean othersUpdatesAreVisible(int type)
          获取由其他结果集类型进行的更新是否可见。
 boolean ownDeletesAreVisible(int type)
          获取结果集自身的删除是否可见。
 boolean ownInsertsAreVisible(int type)
          获取结果集自身的插入是否可见。
 boolean ownUpdatesAreVisible(int type)
          获取对于给定类型的 ResultSet 对象,结果集自身的更新是否可见。
 boolean storesLowerCaseIdentifiers()
          获取此数据库是否将大小写混写的不带引号的 SQL 标识符作为不区分大小写的形式处理,并以小写形式存储它们。
 boolean storesLowerCaseQuotedIdentifiers()
          获取此数据库是否将大小写混写的带引号的 SQL 标识符作为不区分大小写的形式处理,并以小写形式存储它们。
 boolean storesMixedCaseIdentifiers()
          获取此数据库是否将大小写混写的不带引号的 SQL 标识符作为不区分大小写的形式处理,并以大小写混合形式存储它们。
 boolean storesMixedCaseQuotedIdentifiers()
          获取此数据库是否将大小写混写的带引号的 SQL 标识符作为不区分大小写的形式处理,并以大小写混合形式存储它们。
 boolean storesUpperCaseIdentifiers()
          获取此数据库是否将大小写混写的不带引号的 SQL 标识符作为不区分大小写的形式处理,并以大写形式存储它们。
 boolean storesUpperCaseQuotedIdentifiers()
          获取此数据库是否将大小写混写的带引号的 SQL 标识符作为不区分大小写的形式处理,并以大写形式存储它们。
 boolean supportsAlterTableWithAddColumn()
          获取此数据库是否支持带有 add 列的 ALTER TABLE
 boolean supportsAlterTableWithDropColumn()
          获取此数据库是否支持带有 drop 列的 ALTER TABLE
 boolean supportsANSI92EntryLevelSQL()
          获取此数据库是否支持 ANSI92 入门级 SQL 语法。
 boolean supportsANSI92FullSQL()
          获取此数据库是否支持受支持的 ANSI92 完全 SQL 语法。
 boolean supportsANSI92IntermediateSQL()
          获取此数据库是否支持受支持的 ANSI92 中间 SQL 语法。
 boolean supportsBatchUpdates()
          获取此数据库是否支持批量更新。
 boolean supportsCatalogsInDataManipulation()
          获取某个类别名称是否可以在数据操作语句中使用。
 boolean supportsCatalogsInIndexDefinitions()
          获取某个类别名称是否可以在获取定义语句中使用。
 boolean supportsCatalogsInPrivilegeDefinitions()
          获取某个类别名称是否可以在特权定义语句中使用。
 boolean supportsCatalogsInProcedureCalls()
          获取某个类别名称是否可以在过程调用语句中使用。
 boolean supportsCatalogsInTableDefinitions()
          获取某个类别名称是否可以在表定义语句中使用。
 boolean supportsColumnAliasing()
          获取此数据库是否支持为列提供别名。
 boolean supportsConvert()
          获取此数据库是否支持用于 JDBC 类型之间转换的 JDBC 标量函数 CONVERT
 boolean supportsConvert(int fromType, int toType)
          获取此数据库是否支持用于 JDBC fromTypetoType 类型之间转换的 JDBC 标量函数 CONVERT
 boolean supportsCoreSQLGrammar()
          获取此数据库是否支持 ODBC Core SQL 语法。
 boolean supportsCorrelatedSubqueries()
          获取此数据库是否支持相关子查询。
 boolean supportsDataDefinitionAndDataManipulationTransactions()
          获取此数据库是否同时支持事务中的数据定义和数据操作语句。
 boolean supportsDataManipulationTransactionsOnly()
          获取此数据库是否仅支持事务中的数据操作语句。
 boolean supportsDifferentTableCorrelationNames()
          获取在表关联名称受支持时,是否要限制它们与表的名称不同。
 boolean supportsExpressionsInOrderBy()
          获取此数据库是否支持 ORDER BY 列表中的表达式。
 boolean supportsExtendedSQLGrammar()
          获取此数据库是否支持 ODBC Extended SQL 语法。
 boolean supportsFullOuterJoins()
          获取此数据库是否支持完全嵌套的外连接。
 boolean supportsGetGeneratedKeys()
          获取是否可以在执行语句后获取自动生成的键。
 boolean supportsGroupBy()
          获取此数据库是否支持某种形式的 GROUP BY 子句。
 boolean supportsGroupByBeyondSelect()
          获取此数据库是否支持使用不包含在 SELECT 语句中而包含在 GROUP BY 子句中的列,假设 SELECT 语句中的所有列都包含在 GROUP BY 子句中。
 boolean supportsGroupByUnrelated()
          获取此数据库是否支持使用不在 SELECT 语句中而在 GROUP BY 子句中的列。
 boolean supportsIntegrityEnhancementFacility()
          获取此数据库是否支持 SQL Integrity Enhancement Facility。
 boolean supportsLikeEscapeClause()
          获取此数据库是否支持指定 LIKE 转义子句。
 boolean supportsLimitedOuterJoins()
          获取此数据库是否为外连接提供受限制的支持。
 boolean supportsMinimumSQLGrammar()
          获取此数据库是否支持 ODBC Minimum SQL 语法。
 boolean supportsMixedCaseIdentifiers()
          获取此数据库是否将大小写混写的不带引号的 SQL 标识符作为区分大小写的形式处理,并且最后以大小写混合形式存储它们。
 boolean supportsMixedCaseQuotedIdentifiers()
          获取此数据库是否将大小写混写的带引号的 SQL 标识符作为区分大小写的形式处理,并且最后以大小写混合形式存储它们。
 boolean supportsMultipleOpenResults()
          获取是否可以同时拥有从 CallableStatement 对象中返回的多个 ResultSet 对象。
 boolean supportsMultipleResultSets()
          获取此数据库是否支持一次调用 execute 方法获得多个 ResultSet 对象。
 boolean supportsMultipleTransactions()
          获取此数据库是否允许一次打开多个事务(在不同的 connection 上)。
 boolean supportsNamedParameters()
          获取此数据库是否支持可调用语句的指定参数。
 boolean supportsNonNullableColumns()
          获取是否可以将此数据库中的列定义为非 null。
 boolean supportsOpenCursorsAcrossCommit()
          获取此数据库是否支持在进行提交期间保持游标开放。
 boolean supportsOpenCursorsAcrossRollback()
          获取此数据库是否支持在回滚期间保持游标开放。
 boolean supportsOpenStatementsAcrossCommit()
          获取此数据库是否支持在进行提交期间保持语句开放。
 boolean supportsOpenStatementsAcrossRollback()
          获取此数据库是否支持在回滚期间保持语句开放。
 boolean supportsOrderByUnrelated()
          获取此数据库是否支持使用不在 SELECT 语句中而在 ORDER BY 子句中的列。
 boolean supportsOuterJoins()
          获取此数据库是否支持某种形式的外连接。
 boolean supportsPositionedDelete()
          获取此数据库是否支持位置的 DELETE 语句。
 boolean supportsPositionedUpdate()
          获取此数据库是否支持位置的 UPDATE 语句。
 boolean supportsResultSetConcurrency(int type, int concurrency)
          获取此数据库是否支持与给定结果集类型结合在一起的给定并发性类型。
 boolean supportsResultSetHoldability(int holdability)
          获取此数据库是否支持给定结果集可保存性。
 boolean supportsResultSetType(int type)
          获取此数据库是否支持给定结果集类型。
 boolean supportsSavepoints()
          获取此数据库是否支持保存点 (savepoint)。
 boolean supportsSchemasInDataManipulation()
          获取某个模式名称是否可以数据操作语句中使用。
 boolean supportsSchemasInIndexDefinitions()
          获取某个模式名称是否可以在获取定义语句中使用。
 boolean supportsSchemasInPrivilegeDefinitions()
          获取某个模式名称是否可以在特权定义语句中使用。
 boolean supportsSchemasInProcedureCalls()
          获取某个模式名称是否可以在过程调用语句中使用。
 boolean supportsSchemasInTableDefinitions()
          获取某个模式名称是否可以在表定义语句中使用。
 boolean supportsSelectForUpdate()
          获取此数据库是否支持位置的 SELECT FOR UPDATE 语句。
 boolean supportsStatementPooling()
          获取此数据库是否支持语句合并 (statement pooling)。
 boolean supportsStoredFunctionsUsingCallSyntax()
          获取此数据库是否支持使用存储过程转义语法调用用户定义的函数或供应商函数。
 boolean supportsStoredProcedures()
          获取此数据库是否支持使用存储过程转义语法的存储过程调用。
 boolean supportsSubqueriesInComparisons()
          获取此数据库是否支持比较表达式中的子查询。
 boolean supportsSubqueriesInExists()
          获取此数据库是否支持 EXISTS 表达式中的子查询。
 boolean supportsSubqueriesInIns()
          获取此数据库是否支持 IN 表达式中的子查询。
 boolean supportsSubqueriesInQuantifieds()
          获取此数据库是否支持量化表达式 (quantified expression) 中的子查询。
 boolean supportsTableCorrelationNames()
          获取此数据库是否支持表关联名称。
 boolean supportsTransactionIsolationLevel(int level)
          获取此数据库是否支持给定事务隔离级别。
 boolean supportsTransactions()
          获取此数据库是否支持事务。
 boolean supportsUnion()
          获取此数据库是否支持 SQL UNION
 boolean supportsUnionAll()
          获取此数据库是否支持 SQL UNION ALL
 boolean updatesAreDetected(int type)
          获取是否可以通过调用 ResultSet.rowUpdated 方法检测可见行的更新。
 boolean usesLocalFilePerTable()
          获取此数据库是否为每个表使用一个文件。
 boolean usesLocalFiles()
          获取此数据库是否将表存储在本地文件中。
 
从接口 java.sql.Wrapper 继承的方法
isWrapperFor, unwrap
 

字段详细信息

procedureResultUnknown

static final int procedureResultUnknown
指示不知道过程是否返回结果。

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

另请参见:
常量字段值

procedureNoResult

static final int procedureNoResult
指示过程不返回结果。

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

另请参见:
常量字段值

procedureReturnsResult

static final int procedureReturnsResult
指示过程返回结果。

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

另请参见:
常量字段值

procedureColumnUnknown

static final int procedureColumnUnknown
指示列的类型为未知。

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

另请参见:
常量字段值

procedureColumnIn

static final int procedureColumnIn
指示列中存储了 IN 参数。

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

另请参见:
常量字段值

procedureColumnInOut

static final int procedureColumnInOut
指示列中存储了 INOUT 参数。

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

另请参见:
常量字段值

procedureColumnOut

static final int procedureColumnOut
指示列中存储了 OUT 参数。

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

另请参见:
常量字段值

procedureColumnReturn

static final int procedureColumnReturn
指示列中存储了返回值。

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

另请参见:
常量字段值

procedureColumnResult

static final int procedureColumnResult
指示列中存储了结果。

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

另请参见:
常量字段值

procedureNoNulls

static final int procedureNoNulls
指示不允许使用 NULL 值。

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

另请参见:
常量字段值

procedureNullable

static final int procedureNullable
指示允许使用 NULL 值。

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

另请参见:
常量字段值

procedureNullableUnknown

static final int procedureNullableUnknown
指示不知道是否允许使用 NULL 值。

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

另请参见:
常量字段值

columnNoNulls

static final int columnNoNulls
指示列中可能不允许使用 NULL 值。

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

另请参见:
常量字段值

columnNullable

static final int columnNullable
指示列中明确允许使用 NULL 值。

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

另请参见:
常量字段值

columnNullableUnknown

static final int columnNullableUnknown
指示不知道列是否可为 null。

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

另请参见:
常量字段值

bestRowTemporary

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

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

另请参见:
常量字段值

bestRowTransaction

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

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

另请参见:
常量字段值

bestRowSession

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

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

另请参见:
常量字段值

bestRowUnknown

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

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

另请参见:
常量字段值

bestRowNotPseudo

static final int bestRowNotPseudo
指示最佳行标识符“不”是伪列。

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

另请参见:
常量字段值

bestRowPseudo

static final int bestRowPseudo
指示最佳行标识符是伪列。

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

另请参见:
常量字段值

versionColumnUnknown

static final int versionColumnUnknown
指示这种版本的列可能是伪列,也可能不是。

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

另请参见:
常量字段值

versionColumnNotPseudo

static final int versionColumnNotPseudo
指示这种版本的列“不”是伪列。

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

另请参见:
常量字段值

versionColumnPseudo

static final int versionColumnPseudo
指示这种版本的列是伪列。

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

另请参见:
常量字段值

importedKeyCascade

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

方法 getImportedKeysgetExportedKeysgetCrossReference 返回的 ResultSet 对象中 UPDATE_RULEDELETE_RULE 列的可能值。

另请参见:
常量字段值

importedKeyRestrict

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

方法 getImportedKeysgetExportedKeysgetCrossReference 返回的 ResultSet 对象中 UPDATE_RULEDELETE_RULE 列的可能值。

另请参见:
常量字段值

importedKeySetNull

static final int importedKeySetNull
对于 UPDATE_RULEDELETE_RULE 列,指示在更新或删除主键时,将外键(导入的键)更改为 NULL

方法 getImportedKeysgetExportedKeysgetCrossReference 返回的 ResultSet 对象中 UPDATE_RULEDELETE_RULE 列的可能值。

另请参见:
常量字段值

importedKeyNoAction

static final int importedKeyNoAction
对于 UPDATE_RULEDELETE_RULE 列,指示如果主键已导入,则无法更新或删除它。

方法 getImportedKeysgetExportedKeysgetCrossReference 返回的 ResultSet 对象中 UPDATE_RULEDELETE_RULE 列的可能值。

另请参见:
常量字段值

importedKeySetDefault

static final int importedKeySetDefault
对于 UPDATE_RULEDELETE_RULE 列,指示如果更新或删除了主键,则将外键(导入的键)设置为默认值。

方法 getImportedKeysgetExportedKeysgetCrossReference 返回的 ResultSet 对象中 UPDATE_RULEDELETE_RULE 列的可能值。

另请参见:
常量字段值

importedKeyInitiallyDeferred

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

方法 getImportedKeysgetExportedKeysgetCrossReference 返回的 ResultSet 对象中 DEFERRABILITY 列的可能值。

另请参见:
常量字段值

importedKeyInitiallyImmediate

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

方法 getImportedKeysgetExportedKeysgetCrossReference 返回的 ResultSet 对象中 DEFERRABILITY 列的可能值。

另请参见:
常量字段值

importedKeyNotDeferrable

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

方法 getImportedKeysgetExportedKeysgetCrossReference 返回的 ResultSet 对象中 DEFERRABILITY 列的可能值。

另请参见:
常量字段值

typeNoNulls

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

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

另请参见:
常量字段值

typeNullable

static final int typeNullable
指示允许对这种数据类型使用 NULL 值。

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

另请参见:
常量字段值

typeNullableUnknown

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

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

另请参见:
常量字段值

typePredNone

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

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

另请参见:
常量字段值

typePredChar

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

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

另请参见:
常量字段值

typePredBasic

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

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

另请参见:
常量字段值

typeSearchable

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

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

另请参见:
常量字段值

tableIndexStatistic

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

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

另请参见:
常量字段值

tableIndexClustered

static final short tableIndexClustered
指示此表索引是一个集群索引 (clustered index)。

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

另请参见:
常量字段值

tableIndexHashed

static final short tableIndexHashed
指示此表索引是一个散列索引。

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

另请参见:
常量字段值

tableIndexOther

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

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

另请参见:
常量字段值

attributeNoNulls

static final short attributeNoNulls
指示可能不允许使用 NULL 值。

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

另请参见:
常量字段值

attributeNullable

static final short attributeNullable
指示明确允许使用 NULL 值。

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

另请参见:
常量字段值

attributeNullableUnknown

static final short attributeNullableUnknown
指示不知道是否允许使用 NULL 值。

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

另请参见:
常量字段值

sqlStateXOpen

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

从以下版本开始:
1.4
另请参见:
常量字段值

sqlStateSQL

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

从以下版本开始:
1.6
另请参见:
常量字段值

sqlStateSQL99

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

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

从以下版本开始:
1.4
另请参见:
常量字段值

functionColumnUnknown

static final int functionColumnUnknown
指示该类型的参数或列未知。

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

另请参见:
常量字段值

functionColumnIn

static final int functionColumnIn
指示参数或列是一个 IN 参数。

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

从以下版本开始:
1.6
另请参见:
常量字段值

functionColumnInOut

static final int functionColumnInOut
指示参数或列是一个 INOUT 参数。

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

从以下版本开始:
1.6
另请参见:
常量字段值

functionColumnOut

static final int functionColumnOut
指示参数或列是一个 OUT 参数。

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

从以下版本开始:
1.6
另请参见:
常量字段值

functionReturn

static final int functionReturn
指示参数或列是一个返回值。

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

从以下版本开始:
1.6
另请参见:
常量字段值

functionColumnResult

static final int functionColumnResult
指示参数或列是结果集中的一列。

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

从以下版本开始:
1.6
另请参见:
常量字段值

functionNoNulls

static final int functionNoNulls
指示不允许 NULL 值。

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

从以下版本开始:
1.6
另请参见:
常量字段值

functionNullable

static final int functionNullable
指示允许 NULL 值。

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

从以下版本开始:
1.6
另请参见:
常量字段值

functionNullableUnknown

static final int functionNullableUnknown
指示是否允许 NULL 值是未知的。

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

从以下版本开始:
1.6
另请参见:
常量字段值

functionResultUnknown

static final int functionResultUnknown
指示不知道函数是返回一个结果还是一个表。

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

从以下版本开始:
1.6
另请参见:
常量字段值

functionNoTable

static final int functionNoTable
指示函数不返回一个表。

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

从以下版本开始:
1.6
另请参见:
常量字段值

functionReturnsTable

static final int functionReturnsTable
指示函数返回一个表。

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

从以下版本开始:
1.6
另请参见:
常量字段值
方法详细信息

allProceduresAreCallable

boolean allProceduresAreCallable()
                                 throws SQLException
获取当前用户是否可以调用 getProcedures 方法返回的所有过程。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

allTablesAreSelectable

boolean allTablesAreSelectable()
                               throws SQLException
获取当前用户是否可以使用 SELECT 语句中的 getTables 方法返回的所有表。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

getURL

String getURL()
              throws SQLException
获取此 DBMS 的 URL。

返回:
此 DBMS 的 URL,如果无法生成该 URL,则返回 null
抛出:
SQLException - 如果发生数据库访问错误

getUserName

String getUserName()
                   throws SQLException
获取此数据库的已知的用户名称。

返回:
数据库用户名称
抛出:
SQLException - 如果发生数据库访问错误

isReadOnly

boolean isReadOnly()
                   throws SQLException
获取此数据库是否处于只读模式。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

nullsAreSortedHigh

boolean nullsAreSortedHigh()
                           throws SQLException
获取 NULL 值是否被高排序。高排序是指在域中,NULL 值的排序高于其他任何值。在升序中,如果此方法返回 true,则 NULL 值将出现在末尾。相反,nullsAreSortedAtEnd 方法指示 NULL 值始终存储在末尾,不管排序顺序如何。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

nullsAreSortedLow

boolean nullsAreSortedLow()
                          throws SQLException
获取 NULL 值是否被低排序。低排序是指在域中,NULL 值的排序低于其他任何值。在升序中,如果此方法返回 true,则 NULL 值将出现在开头。相反,nullsAreSortedAtStart 方法指示 NULL 值始终存储在开头,不管排序顺序如何。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

nullsAreSortedAtStart

boolean nullsAreSortedAtStart()
                              throws SQLException
获取 NULL 值是否始终排在开头,不管排序顺序如何。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

nullsAreSortedAtEnd

boolean nullsAreSortedAtEnd()
                            throws SQLException
获取 NULL 值是否始终排在末尾,不管排序顺序如何。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

getDatabaseProductName

String getDatabaseProductName()
                              throws SQLException
获取此数据库产品的名称。

返回:
数据库产品名称
抛出:
SQLException - 如果发生数据库访问错误

getDatabaseProductVersion

String getDatabaseProductVersion()
                                 throws SQLException
获取此数据库产品的版本号。

返回:
数据库版本号
抛出:
SQLException - 如果发生数据库访问错误

getDriverName

String getDriverName()
                     throws SQLException
获取此 JDBC 驱动程序的名称。

返回:
JDBC 驱动程序名称
抛出:
SQLException - 如果发生数据库访问错误

getDriverVersion

String getDriverVersion()
                        throws SQLException
获取此 JDBC 驱动程序的 String 形式的版本号。

返回:
JDBC 驱动程序版本
抛出:
SQLException - 如果发生数据库访问错误

getDriverMajorVersion

int getDriverMajorVersion()
获取此 JDBC 驱动程序的主版本号。

返回:
JDBC 驱动程序的主版本

getDriverMinorVersion

int getDriverMinorVersion()
获取此 JDBC 驱动程序的次版本号。

返回:
JDBC 驱动程序的次版本号

usesLocalFiles

boolean usesLocalFiles()
                       throws SQLException
获取此数据库是否将表存储在本地文件中。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

usesLocalFilePerTable

boolean usesLocalFilePerTable()
                              throws SQLException
获取此数据库是否为每个表使用一个文件。

返回:
如果此数据库为每个表使用一个本地文件,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsMixedCaseIdentifiers

boolean supportsMixedCaseIdentifiers()
                                     throws SQLException
获取此数据库是否将大小写混写的不带引号的 SQL 标识符作为区分大小写的形式处理,并且最后以大小写混合形式存储它们。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

storesUpperCaseIdentifiers

boolean storesUpperCaseIdentifiers()
                                   throws SQLException
获取此数据库是否将大小写混写的不带引号的 SQL 标识符作为不区分大小写的形式处理,并以大写形式存储它们。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

storesLowerCaseIdentifiers

boolean storesLowerCaseIdentifiers()
                                   throws SQLException
获取此数据库是否将大小写混写的不带引号的 SQL 标识符作为不区分大小写的形式处理,并以小写形式存储它们。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

storesMixedCaseIdentifiers

boolean storesMixedCaseIdentifiers()
                                   throws SQLException
获取此数据库是否将大小写混写的不带引号的 SQL 标识符作为不区分大小写的形式处理,并以大小写混合形式存储它们。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsMixedCaseQuotedIdentifiers

boolean supportsMixedCaseQuotedIdentifiers()
                                           throws SQLException
获取此数据库是否将大小写混写的带引号的 SQL 标识符作为区分大小写的形式处理,并且最后以大小写混合形式存储它们。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

storesUpperCaseQuotedIdentifiers

boolean storesUpperCaseQuotedIdentifiers()
                                         throws SQLException
获取此数据库是否将大小写混写的带引号的 SQL 标识符作为不区分大小写的形式处理,并以大写形式存储它们。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

storesLowerCaseQuotedIdentifiers

boolean storesLowerCaseQuotedIdentifiers()
                                         throws SQLException
获取此数据库是否将大小写混写的带引号的 SQL 标识符作为不区分大小写的形式处理,并以小写形式存储它们。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

storesMixedCaseQuotedIdentifiers

boolean storesMixedCaseQuotedIdentifiers()
                                         throws SQLException
获取此数据库是否将大小写混写的带引号的 SQL 标识符作为不区分大小写的形式处理,并以大小写混合形式存储它们。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

getIdentifierQuoteString

String getIdentifierQuoteString()
                                throws SQLException
获取用于引用 SQL 标识符的字符串。如果标识符引用不受支持,则此方法返回一个空格 " "。

返回:
引用字符串,如果引用不受支持,则返回一个空格
抛出:
SQLException - 如果发生数据库访问错误

getSQLKeywords

String getSQLKeywords()
                      throws SQLException
获取此数据库的还“不”是 SQL:2003 关键字的所有 SQL 关键字的逗号分隔列表。

返回:
此数据库的还不是 SQL:2003 关键字的那些关键字组成的列表
抛出:
SQLException - 如果发生数据库访问错误

getNumericFunctions

String getNumericFunctions()
                           throws SQLException
获取可用于此数据库的数学函数的逗号分隔列表。这些是用于 JDBC 函数转义子句中的 Open /Open CLI 数学函数名称。

返回:
此数据库支持的数学函数的列表
抛出:
SQLException - 如果发生数据库访问错误

getStringFunctions

String getStringFunctions()
                          throws SQLException
获取可用于此数据库的字符串函数的逗号分隔列表。这些是用于 JDBC 函数转义子句中的 Open Group CLI 字符串函数名称。

返回:
受此数据库支持的字符串函数的列表
抛出:
SQLException - 如果发生数据库访问错误

getSystemFunctions

String getSystemFunctions()
                          throws SQLException
获取可用于此数据库的系统函数的逗号分隔列表。这些是用于 JDBC 函数转义子句中的 Open Group CLI 系统函数名称。

返回:
受此数据库支持的系统函数的列表
抛出:
SQLException - 如果发生数据库访问错误

getTimeDateFunctions

String getTimeDateFunctions()
                            throws SQLException
获取可用于此数据库的时间和日期函数的逗号分隔列表。

返回:
受此数据库支持的时间和日期函数的列表
抛出:
SQLException - 如果发生数据库访问错误

getSearchStringEscape

String getSearchStringEscape()
                             throws SQLException
获取可用于转义通配符的字符串。该字符串是可用于在类别搜索参数中转义 '_' 或 '%' 的字符串,这些类别搜索参数表示模式(因此使用通配符之一)。

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

返回:
用于转义通配符的字符串
抛出:
SQLException - 如果发生数据库访问错误

getExtraNameCharacters

String getExtraNameCharacters()
                              throws SQLException
获取可以在不带引号的标识符名称中使用的所有“额外”字符(除了 a-z、A-Z、0-9 和 _ 以外的字符)。

返回:
包含额外字符的字符串
抛出:
SQLException - 如果发生数据库访问错误

supportsAlterTableWithAddColumn

boolean supportsAlterTableWithAddColumn()
                                        throws SQLException
获取此数据库是否支持带有 add 列的 ALTER TABLE

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsAlterTableWithDropColumn

boolean supportsAlterTableWithDropColumn()
                                         throws SQLException
获取此数据库是否支持带有 drop 列的 ALTER TABLE

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsColumnAliasing

boolean supportsColumnAliasing()
                               throws SQLException
获取此数据库是否支持为列提供别名。

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

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

nullPlusNonNullIsNull

boolean nullPlusNonNullIsNull()
                              throws SQLException
获取此数据库是否支持 NULL 值与等于 NULL 的非 NULL 值之间的连接。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsConvert

boolean supportsConvert()
                        throws SQLException
获取此数据库是否支持用于 JDBC 类型之间转换的 JDBC 标量函数 CONVERT。JDBC 类型是 java.sql.Types 中定义的一般 SQL 数据类型。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsConvert

boolean supportsConvert(int fromType,
                        int toType)
                        throws SQLException
获取此数据库是否支持用于 JDBC fromTypetoType 类型之间转换的 JDBC 标量函数 CONVERT。JDBC 类型是 java.sql.Types 中定义的一般 SQL 数据类型。

参数:
fromType - 要转换的类型,它是 java.sql.Types 类中的类型代码之一
toType - 要转换的目标类型,它是 java.sql.Types 类中的类型代码之一
返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误
另请参见:
Types

supportsTableCorrelationNames

boolean supportsTableCorrelationNames()
                                      throws SQLException
获取此数据库是否支持表关联名称。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsDifferentTableCorrelationNames

boolean supportsDifferentTableCorrelationNames()
                                               throws SQLException
获取在表关联名称受支持时,是否要限制它们与表的名称不同。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsExpressionsInOrderBy

boolean supportsExpressionsInOrderBy()
                                     throws SQLException
获取此数据库是否支持 ORDER BY 列表中的表达式。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsOrderByUnrelated

boolean supportsOrderByUnrelated()
                                 throws SQLException
获取此数据库是否支持使用不在 SELECT 语句中而在 ORDER BY 子句中的列。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsGroupBy

boolean supportsGroupBy()
                        throws SQLException
获取此数据库是否支持某种形式的 GROUP BY 子句。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsGroupByUnrelated

boolean supportsGroupByUnrelated()
                                 throws SQLException
获取此数据库是否支持使用不在 SELECT 语句中而在 GROUP BY 子句中的列。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsGroupByBeyondSelect

boolean supportsGroupByBeyondSelect()
                                    throws SQLException
获取此数据库是否支持使用不包含在 SELECT 语句中而包含在 GROUP BY 子句中的列,假设 SELECT 语句中的所有列都包含在 GROUP BY 子句中。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsLikeEscapeClause

boolean supportsLikeEscapeClause()
                                 throws SQLException
获取此数据库是否支持指定 LIKE 转义子句。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsMultipleResultSets

boolean supportsMultipleResultSets()
                                   throws SQLException
获取此数据库是否支持一次调用 execute 方法获得多个 ResultSet 对象。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsMultipleTransactions

boolean supportsMultipleTransactions()
                                     throws SQLException
获取此数据库是否允许一次打开多个事务(在不同的 connection 上)。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsNonNullableColumns

boolean supportsNonNullableColumns()
                                   throws SQLException
获取是否可以将此数据库中的列定义为非 null。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsMinimumSQLGrammar

boolean supportsMinimumSQLGrammar()
                                  throws SQLException
获取此数据库是否支持 ODBC Minimum SQL 语法。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsCoreSQLGrammar

boolean supportsCoreSQLGrammar()
                               throws SQLException
获取此数据库是否支持 ODBC Core SQL 语法。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsExtendedSQLGrammar

boolean supportsExtendedSQLGrammar()
                                   throws SQLException
获取此数据库是否支持 ODBC Extended SQL 语法。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsANSI92EntryLevelSQL

boolean supportsANSI92EntryLevelSQL()
                                    throws SQLException
获取此数据库是否支持 ANSI92 入门级 SQL 语法。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsANSI92IntermediateSQL

boolean supportsANSI92IntermediateSQL()
                                      throws SQLException
获取此数据库是否支持受支持的 ANSI92 中间 SQL 语法。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsANSI92FullSQL

boolean supportsANSI92FullSQL()
                              throws SQLException
获取此数据库是否支持受支持的 ANSI92 完全 SQL 语法。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsIntegrityEnhancementFacility

boolean supportsIntegrityEnhancementFacility()
                                             throws SQLException
获取此数据库是否支持 SQL Integrity Enhancement Facility。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsOuterJoins

boolean supportsOuterJoins()
                           throws SQLException
获取此数据库是否支持某种形式的外连接。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsFullOuterJoins

boolean supportsFullOuterJoins()
                               throws SQLException
获取此数据库是否支持完全嵌套的外连接。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsLimitedOuterJoins

boolean supportsLimitedOuterJoins()
                                  throws SQLException
获取此数据库是否为外连接提供受限制的支持。(如果 supportsFullOuterJoins 方法返回 true,则此为 true)。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

getSchemaTerm

String getSchemaTerm()
                     throws SQLException
获取数据库供应商用于 "schema" 的首选术语。

返回:
供应商用于 "schema" 的术语
抛出:
SQLException - 如果发生数据库访问错误

getProcedureTerm

String getProcedureTerm()
                        throws SQLException
获取数据库供应商用于 "procedure" 的首选术语。

返回:
供应商用于 "procedure" 的术语
抛出:
SQLException - 如果发生数据库访问错误

getCatalogTerm

String getCatalogTerm()
                      throws SQLException
获取数据库供应商用于 "catalog" 的首选术语。

返回:
供应商用于 "catalog" 的术语
抛出:
SQLException - 如果发生数据库访问错误

isCatalogAtStart

boolean isCatalogAtStart()
                         throws SQLException
获取某个类别是否出现在完全限定表名的开头。如果没有出现在开头,则类别出现在表名末尾。

返回:
如果类别出现在完全限定表名的开头,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

getCatalogSeparator

String getCatalogSeparator()
                           throws SQLException
获取此数据库用作类别和表名之间的分隔符的 String

返回:
分隔符字符串
抛出:
SQLException - 如果发生数据库访问错误

supportsSchemasInDataManipulation

boolean supportsSchemasInDataManipulation()
                                          throws SQLException
获取某个模式名称是否可以数据操作语句中使用。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsSchemasInProcedureCalls

boolean supportsSchemasInProcedureCalls()
                                        throws SQLException
获取某个模式名称是否可以在过程调用语句中使用。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsSchemasInTableDefinitions

boolean supportsSchemasInTableDefinitions()
                                          throws SQLException
获取某个模式名称是否可以在表定义语句中使用。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsSchemasInIndexDefinitions

boolean supportsSchemasInIndexDefinitions()
                                          throws SQLException
获取某个模式名称是否可以在获取定义语句中使用。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsSchemasInPrivilegeDefinitions

boolean supportsSchemasInPrivilegeDefinitions()
                                              throws SQLException
获取某个模式名称是否可以在特权定义语句中使用。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsCatalogsInDataManipulation

boolean supportsCatalogsInDataManipulation()
                                           throws SQLException
获取某个类别名称是否可以在数据操作语句中使用。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsCatalogsInProcedureCalls

boolean supportsCatalogsInProcedureCalls()
                                         throws SQLException
获取某个类别名称是否可以在过程调用语句中使用。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsCatalogsInTableDefinitions

boolean supportsCatalogsInTableDefinitions()
                                           throws SQLException
获取某个类别名称是否可以在表定义语句中使用。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsCatalogsInIndexDefinitions

boolean supportsCatalogsInIndexDefinitions()
                                           throws SQLException
获取某个类别名称是否可以在获取定义语句中使用。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsCatalogsInPrivilegeDefinitions

boolean supportsCatalogsInPrivilegeDefinitions()
                                               throws SQLException
获取某个类别名称是否可以在特权定义语句中使用。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsPositionedDelete

boolean supportsPositionedDelete()
                                 throws SQLException
获取此数据库是否支持位置的 DELETE 语句。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsPositionedUpdate

boolean supportsPositionedUpdate()
                                 throws SQLException
获取此数据库是否支持位置的 UPDATE 语句。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsSelectForUpdate

boolean supportsSelectForUpdate()
                                throws SQLException
获取此数据库是否支持位置的 SELECT FOR UPDATE 语句。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsStoredProcedures

boolean supportsStoredProcedures()
                                 throws SQLException
获取此数据库是否支持使用存储过程转义语法的存储过程调用。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsSubqueriesInComparisons

boolean supportsSubqueriesInComparisons()
                                        throws SQLException
获取此数据库是否支持比较表达式中的子查询。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsSubqueriesInExists

boolean supportsSubqueriesInExists()
                                   throws SQLException
获取此数据库是否支持 EXISTS 表达式中的子查询。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsSubqueriesInIns

boolean supportsSubqueriesInIns()
                                throws SQLException
获取此数据库是否支持 IN 表达式中的子查询。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsSubqueriesInQuantifieds

boolean supportsSubqueriesInQuantifieds()
                                        throws SQLException
获取此数据库是否支持量化表达式 (quantified expression) 中的子查询。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsCorrelatedSubqueries

boolean supportsCorrelatedSubqueries()
                                     throws SQLException
获取此数据库是否支持相关子查询。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsUnion

boolean supportsUnion()
                      throws SQLException
获取此数据库是否支持 SQL UNION

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsUnionAll

boolean supportsUnionAll()
                         throws SQLException
获取此数据库是否支持 SQL UNION ALL

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsOpenCursorsAcrossCommit

boolean supportsOpenCursorsAcrossCommit()
                                        throws SQLException
获取此数据库是否支持在进行提交期间保持游标开放。

返回:
如果游标总是保持开放,则返回 true;如果游标可能无法保持开放,则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsOpenCursorsAcrossRollback

boolean supportsOpenCursorsAcrossRollback()
                                          throws SQLException
获取此数据库是否支持在回滚期间保持游标开放。

返回:
如果游标总是保持开放,则返回 true;如果游标可能无法保持开放,则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsOpenStatementsAcrossCommit

boolean supportsOpenStatementsAcrossCommit()
                                           throws SQLException
获取此数据库是否支持在进行提交期间保持语句开放。

返回:
如果语句总是保持开放,则返回 true;如果游标可能无法保持开放,则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsOpenStatementsAcrossRollback

boolean supportsOpenStatementsAcrossRollback()
                                             throws SQLException
获取此数据库是否支持在回滚期间保持语句开放。

返回:
如果语句总是保持开放,则返回 true;如果游标可能无法保持开放,则返回 false
抛出:
SQLException - 如果发生数据库访问错误

getMaxBinaryLiteralLength

int getMaxBinaryLiteralLength()
                              throws SQLException
获取此数据库允许在内嵌二进制字面值中使用的最大十六进制字符数。

返回:
max,即用于二进制字面值的最大长度(十六进制字符形式);结果为零意味着没有限制或限制是未知的
抛出:
SQLException - 如果发生数据库访问错误

getMaxCharLiteralLength

int getMaxCharLiteralLength()
                            throws SQLException
获取此数据库允许用于字符字面值的最大字符数。

返回:
允许用于字符字面值的最大字符数;结果为零意味着没有限制或限制是未知的
抛出:
SQLException - 如果发生数据库访问错误

getMaxColumnNameLength

int getMaxColumnNameLength()
                           throws SQLException
获取此数据库允许用于列名称的最大字符数。

返回:
允许用于列名称的最大字符数;结果为零意味着没有限制或限制是未知的
抛出:
SQLException - 如果发生数据库访问错误

getMaxColumnsInGroupBy

int getMaxColumnsInGroupBy()
                           throws SQLException
获取此数据库允许在 GROUP BY 子句中使用的最大列数。

返回:
所允许的最大列数;结果为零意味着没有限制或限制是未知的
抛出:
SQLException - 如果发生数据库访问错误

getMaxColumnsInIndex

int getMaxColumnsInIndex()
                         throws SQLException
获取此数据库允许在索引中使用的最大列数。

返回:
所允许的最大列数;结果为零意味着没有限制或限制是未知的
抛出:
SQLException - 如果发生数据库访问错误

getMaxColumnsInOrderBy

int getMaxColumnsInOrderBy()
                           throws SQLException
获取此数据库允许在 ORDER BY 子句中使用的最大列数。

返回:
所允许的最大列数;结果为零意味着没有限制或限制是未知的
抛出:
SQLException - 如果发生数据库访问错误

getMaxColumnsInSelect

int getMaxColumnsInSelect()
                          throws SQLException
获取此数据库允许在 SELECT 列表中使用的最大列数。

返回:
所允许的最大列数;结果为零意味着没有限制或限制是未知的
抛出:
SQLException - 如果发生数据库访问错误

getMaxColumnsInTable

int getMaxColumnsInTable()
                         throws SQLException
获取此数据库允许在表中使用的最大列数。

返回:
所允许的最大列数;结果为零意味着没有限制或限制是未知的
抛出:
SQLException - 如果发生数据库访问错误

getMaxConnections

int getMaxConnections()
                      throws SQLException
获取连接到此数据库的并发连接的可能最大数。

返回:
在某一时间可能的活动连接的最大数;结果为零意味着没有限制或限制是未知的
抛出:
SQLException - 如果发生数据库访问错误

getMaxCursorNameLength

int getMaxCursorNameLength()
                           throws SQLException
获取此数据库允许用于游标名称的最大字符数。

返回:
允许用于游标名称的最大字符数;结果为零意味着没有限制或限制是未知的
抛出:
SQLException - 如果发生数据库访问错误

getMaxIndexLength

int getMaxIndexLength()
                      throws SQLException
获取此数据库允许用于索引(包括索引的所有部分)的最大字节数。

返回:
所允许的最大字节数;这一限制由该索引所有组成部分的组成;结果为零意味着没有限制或者限制是未知的
抛出:
SQLException - 如果发生数据库访问错误

getMaxSchemaNameLength

int getMaxSchemaNameLength()
                           throws SQLException
获取此数据库允许在模式名称中使用的最大字符数。

返回:
允许用于模式名称的最大字符数;结果为零意味着没有限制或限制是未知的
抛出:
SQLException - 如果发生数据库访问错误

getMaxProcedureNameLength

int getMaxProcedureNameLength()
                              throws SQLException
获取此数据库允许用于过程名称的最大字符数。

返回:
允许用于过程名称的最大字符数;结果为零意味着没有限制或限制是未知的
抛出:
SQLException - 如果发生数据库访问错误

getMaxCatalogNameLength

int getMaxCatalogNameLength()
                            throws SQLException
获取此数据库允许用于类别名称的最大字符数。

返回:
允许用于类别名称的最大字符数;结果为零意味着没有限制或限制是未知的
抛出:
SQLException - 如果发生数据库访问错误

getMaxRowSize

int getMaxRowSize()
                  throws SQLException
获取此数据库允许在单行中使用的最大字节数。

返回:
允许在行中使用的最大字节数;结果为零意味着没有限制或限制是未知的
抛出:
SQLException - 如果发生数据库访问错误

doesMaxRowSizeIncludeBlobs

boolean doesMaxRowSizeIncludeBlobs()
                                   throws SQLException
获取 getMaxRowSize 方法的返回值是否包括 SQL 数据类型 LONGVARCHARLONGVARBINARY

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

getMaxStatementLength

int getMaxStatementLength()
                          throws SQLException
获取此数据库允许在 SQL 语句中使用的最大字符数。

返回:
允许在 SQL 语句中使用的最大字符数;结果为零意味着没有限制或限制是未知的
抛出:
SQLException - 如果发生数据库访问错误

getMaxStatements

int getMaxStatements()
                     throws SQLException
获取在此数据库中在同一时间内可处于开放状态的最大活动语句数。

返回:
在某一时间可同时处于开放状态的最大语句数;结果为零意味着没有限制或限制是未知的
抛出:
SQLException - 如果发生数据库访问错误

getMaxTableNameLength

int getMaxTableNameLength()
                          throws SQLException
获取此数据库允许在表名称中使用的最大字符数。

返回:
允许用于表名称的最大字符数;结果为零意味着没有限制或限制是未知的
抛出:
SQLException - 如果发生数据库访问错误

getMaxTablesInSelect

int getMaxTablesInSelect()
                         throws SQLException
获取此数据库允许在 SELECT 语句中使用的表的最大数量。

返回:
允许在 SELECT 语句中使用的表的最大数量;结果为零意味着没有限制或限制是未知的
抛出:
SQLException - 如果发生数据库访问错误

getMaxUserNameLength

int getMaxUserNameLength()
                         throws SQLException
获取此数据库允许在用户名称中使用的最大字符数。

返回:
允许用于用户名称的最大字符数;结果为零意味着没有限制或限制是未知的
抛出:
SQLException - 如果发生数据库访问错误

getDefaultTransactionIsolation

int getDefaultTransactionIsolation()
                                   throws SQLException
获取此数据库的默认事务隔离级别。java.sql.Connection 中定义了一些可能值。

返回:
默认隔离级别
抛出:
SQLException - 如果发生数据库访问错误
另请参见:
Connection

supportsTransactions

boolean supportsTransactions()
                             throws SQLException
获取此数据库是否支持事务。如果不支持,则调用 commit 方法是无操作 (noop),并且隔离级别是 TRANSACTION_NONE

返回:
如果事务受支持,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsTransactionIsolationLevel

boolean supportsTransactionIsolationLevel(int level)
                                          throws SQLException
获取此数据库是否支持给定事务隔离级别。

参数:
level - java.sql.Connection 中定义的事务隔离级别之一
返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误
另请参见:
Connection

supportsDataDefinitionAndDataManipulationTransactions

boolean supportsDataDefinitionAndDataManipulationTransactions()
                                                              throws SQLException
获取此数据库是否同时支持事务中的数据定义和数据操作语句。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

supportsDataManipulationTransactionsOnly

boolean supportsDataManipulationTransactionsOnly()
                                                 throws SQLException
获取此数据库是否仅支持事务中的数据操作语句。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

dataDefinitionCausesTransactionCommit

boolean dataDefinitionCausesTransactionCommit()
                                              throws SQLException
获取事务中的数据定义语句是否强迫该事务进行提交。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

dataDefinitionIgnoredInTransactions

boolean dataDefinitionIgnoredInTransactions()
                                            throws SQLException
获取此数据库是否忽略事务中的数据定义语句。

返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误

getProcedures

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

仅返回与模式和过程名称标准匹配的过程。它们根据 PROCEDURE_CATPROCEDURE_SCHEMPROCEDURE_NAMESPECIFIC_ 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 - 类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schemaPattern - 模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
procedureNamePattern - 过程名称模式;它必须与存储在数据库中的过程名称匹配
返回:
ResultSet - 每个行都是一个过程描述
抛出:
SQLException - 如果发生数据库访问错误
另请参见:
getSearchStringEscape()

getProcedureColumns

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

仅返回与模式、过程和参数名称标准匹配的描述。它们根据 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 - 类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 则获取没有类别的描述,表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schemaPattern - 模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
procedureNamePattern - 过程名称模式;它必须与存储在数据库中的过程名称匹配
columnNamePattern - 列名称模式;它必须与存储在数据库中的列名称匹配
返回:
ResultSet - 每一行都描述一个存储过程参数或列
抛出:
SQLException - 如果发生数据库访问错误
另请参见:
getSearchStringEscape()

getTables

ResultSet getTables(String catalog,
                    String schemaPattern,
                    String tableNamePattern,
                    String[] types)
                    throws SQLException
获取可在给定类别中使用的表的描述。仅返回与类别、模式、表名称和类型标准匹配的表描述。它们根据 TABLE_TYPETABLE_CATTABLE_SCHEMTABLE_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 - 类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schemaPattern - 模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
tableNamePattern - 表名称模式;它必须与存储在数据库中的表名称匹配
types - 要包括的表类型所组成的列表,必须取自从 getTableTypes() 返回的表类型列表;null 表示返回所有类型
返回:
ResultSet - 每一行都是一个表描述
抛出:
SQLException - 如果发生数据库访问错误
另请参见:
getSearchStringEscape()

getSchemas

ResultSet getSchemas()
                     throws SQLException
获取可在此数据库中使用的模式名称。可根据 TABLE_CATALOGTABLE_SCHEM 对结果进行排序。

模式列为:

  1. TABLE_SCHEM String => 模式名称
  2. TABLE_CATALOG String => 类别名称(可为 null

返回:
ResultSet 对象,在该对象中,每一行都是一个模式描述
抛出:
SQLException - 如果发生数据库访问错误

getCatalogs

ResultSet getCatalogs()
                      throws SQLException
获取可在此数据库中使用的类别名称。可根据类别名称对结果进行排序。

类别列为:

  1. TABLE_CAT String => 类别名称

返回:
ResultSet 对象,在该对象中,每一行都有一个作为类别名称的 String
抛出:
SQLException - 如果发生数据库访问错误

getTableTypes

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

表类型为:

  1. TABLE_TYPE String => 表类型。典型的类型为 "TABLE"、"VIEW"、"SYSTEM TABLE"、"GLOBAL TEMPORARY"、"LOCAL TEMPORARY"、"ALIAS" 和 "SYNONYM"。

返回:
ResultSet 对象,在该对象中,每一行都有一个作为表类型的 String
抛出:
SQLException - 如果发生数据库访问错误

getColumns

ResultSet getColumns(String catalog,
                     String schemaPattern,
                     String tableNamePattern,
                     String columnNamePattern)
                     throws SQLException
获取可在指定类别中使用的表列的描述。

仅返回与类别、模式、表和列名称标准匹配的列描述。它们根据 TABLE_CATTABLE_SCHEMTABLE_NAMEORDINAL_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 - 类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schemaPattern - 模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
tableNamePattern - 表名称模式;它必须与存储在数据库中的表名称匹配
columnNamePattern - 列名称模式;它必须与存储在数据库中的列名称匹配
返回:
ResultSet - 每一行都是一个列描述
抛出:
SQLException - 如果发生数据库访问错误
另请参见:
getSearchStringEscape()

getColumnPrivileges

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

仅返回与列名称标准匹配的特权。它们根据 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 - 类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schema - 模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那 些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
table - 表名称;它必须与存储在数据库中的表名称匹配
columnNamePattern - 列名称模式;它必须与存储在数据库中的列名称匹配
返回:
ResultSet - 每一行都是一个列特权描述
抛出:
SQLException - 如果发生数据库访问错误
另请参见:
getSearchStringEscape()

getTablePrivileges

ResultSet getTablePrivileges(String catalog,
                             String schemaPattern,
                             String tableNamePattern)
                             throws SQLException
获取可在类别中使用的每个表的访问权的描述。注意,表特权可用于表中的一个或多个列。假定此特权可用于所有列是错误的(对于某些系统可能是正确的,但并非所有的系统都如此)。

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

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

  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 - 类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schemaPattern - 模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
tableNamePattern - 表名称模式;它必须与存储在数据库中的表名称匹配
返回:
ResultSet - 每个行都是一个表特权描述
抛出:
SQLException - 如果发生数据库访问错误
另请参见:
getSearchStringEscape()

getBestRowIdentifier

ResultSet getBestRowIdentifier(String catalog,
                               String schema,
                               String table,
                               int scope,
                               boolean nullable)
                               throws SQLException
获取唯一标识行的表的最佳列集合的描述。它们根据 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 - 类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schema - 模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那 些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
table - 表名称;它必须与存储在数据库中的表名称匹配
scope - 感兴趣的作用域,可使用于 SCOPE 相同的值
nullable - 包含可为 null 的列。
返回:
ResultSet - 每一行都是一个列描述
抛出:
SQLException - 如果发生数据库访问错误

getVersionColumns

ResultSet getVersionColumns(String catalog,
                            String schema,
                            String table)
                            throws SQLException
获取在更新行中的任意值时自动更新的表列的描述。它们是无序的。

每个列描述都有以下列:

  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 - 类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schema - 模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那 些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
table - 表名称;它必须与存储在数据库中的表名称匹配
返回:
一个 ResultSet 对象,在该对象中,每一行都是一个列描述
抛出:
SQLException - 如果发生数据库访问错误

getPrimaryKeys

ResultSet getPrimaryKeys(String catalog,
                         String schema,
                         String table)
                         throws SQLException
获取对给定表的主键列的描述。它们根据 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 - 类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schema - 模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那 些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
table - 表名称;它必须与存储在数据库中的表名称匹配
返回:
ResultSet - 每一行都是一个主键列描述
抛出:
SQLException - 如果发生数据库访问错误

getImportedKeys

ResultSet getImportedKeys(String catalog,
                          String schema,
                          String table)
                          throws SQLException
获取由给定表的外键列(表导入的主键)引用的主键列的描述。它们根据 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 - 类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schema - 模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那 些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
table - 表名称;它必须与存储在数据库中的表名称匹配
返回:
ResultSet - 每一行都是一个主键列描述
抛出:
SQLException - 如果发生数据库访问错误
另请参见:
getExportedKeys(java.lang.String, java.lang.String, java.lang.String)

getExportedKeys

ResultSet getExportedKeys(String catalog,
                          String schema,
                          String table)
                          throws SQLException
获取引用给定表的主键列(表导入的外键)的外键列的描述。它们根据 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 - 类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schema - 模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那 些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
table - 表名称;它必须与存储在数据库中的表名称匹配
返回:
一个 ResultSet 对象,在该对象中,每一行都是一个外键列描述
抛出:
SQLException - 如果发生数据库访问错误
另请参见:
getImportedKeys(java.lang.String, java.lang.String, java.lang.String)

getCrossReference

ResultSet getCrossReference(String parentCatalog,
                            String parentSchema,
                            String parentTable,
                            String foreignCatalog,
                            String foreignSchema,
                            String foreignTable)
                            throws SQLException
获取给定外键列表中外键列的描述,这些列引用主键或表示父表(可能是相同的表,也可能是不同的表)唯一约束的列。从父表返回的列数必须与组成外键的列数匹配。它们根据 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 - 类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
parentSchema - 模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
parentTable - 导出该键的表的名称;它必须与存储在数据库中的表名称匹配
foreignCatalog - 类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 则获取没有类别的那些描述,为 null 则表示从选择标准中删除类别名称
foreignSchema - 模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取那些没有模式的描述,为 null 则表示从选择标准中删除模式名称
foreignTable - 导入该键的表的名称;它必须与存储在数据库中的表名称匹配
返回:
ResultSet - 每一行是一个外键列描述
抛出:
SQLException - 如果发生数据库访问错误
另请参见:
getImportedKeys(java.lang.String, java.lang.String, java.lang.String)

getTypeInfo

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() 方法获得。

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

  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。

返回:
ResultSet 对象,在此对象中,每一行都是一个 SQL 类型描述
抛出:
SQLException - 如果发生数据库访问错误

getIndexInfo

ResultSet getIndexInfo(String catalog,
                       String schema,
                       String table,
                       boolean unique,
                       boolean approximate)
                       throws SQLException
获取给定表的索引和统计信息的描述。它们根据 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 - 类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schema - 模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那 些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
table - 表名称;它必须与存储在数据库中的表名称匹配
unique - 该参数为 true 时,仅返回唯一值的索引;该参数为 false 时,返回所有索引,不管它们是否唯一
approximate - 该参数为 true 时,允许结果是接近的数据值或这些数据值以外的值;该参数为 false 时,要求结果是精确结果
返回:
ResultSet - 每一行都是一个索引列描述
抛出:
SQLException - 如果发生数据库访问错误

supportsResultSetType

boolean supportsResultSetType(int type)
                              throws SQLException
获取此数据库是否支持给定结果集类型。

参数:
type - 在 java.sql.ResultSet 中定义
返回:
如果是这样,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2
另请参见:
Connection

supportsResultSetConcurrency

boolean supportsResultSetConcurrency(int type,
                                     int concurrency)
                                     throws SQLException
获取此数据库是否支持与给定结果集类型结合在一起的给定并发性类型。

参数:
type - 在 java.sql.ResultSet 中定义
concurrency - java.sql.ResultSet 中定义的类型
返回:
如果支持,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2
另请参见:
Connection

ownUpdatesAreVisible

boolean ownUpdatesAreVisible(int type)
                             throws SQLException
获取对于给定类型的 ResultSet 对象,结果集自身的更新是否可见。

参数:
type - ResultSet 类型,它是 ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE 之一
返回:
如果更新对于给定结果集是可见的,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

ownDeletesAreVisible

boolean ownDeletesAreVisible(int type)
                             throws SQLException
获取结果集自身的删除是否可见。

参数:
type - ResultSet 类型,它是 ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE 之一
返回:
如果删除对于给定结果集是可见的,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

ownInsertsAreVisible

boolean ownInsertsAreVisible(int type)
                             throws SQLException
获取结果集自身的插入是否可见。

参数:
type - ResultSet 类型,它是 ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE 之一
返回:
如果插入对于给定结果集是可见的,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

othersUpdatesAreVisible

boolean othersUpdatesAreVisible(int type)
                                throws SQLException
获取由其他结果集类型进行的更新是否可见。

参数:
type - ResultSet 类型,它是 ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE 之一
返回:
如果由其他结果集类型进行的更新对于给定结果集是可见的,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

othersDeletesAreVisible

boolean othersDeletesAreVisible(int type)
                                throws SQLException
获取由其他结果集类型进行的删除是否可见。

参数:
type - ResultSet 类型,它是 ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE 之一
返回:
如果由其他结果集类型进行的删除对于给定结果集是可见的,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

othersInsertsAreVisible

boolean othersInsertsAreVisible(int type)
                                throws SQLException
获取由其他结果集类型进行的插入是否可见。

参数:
type - ResultSet 类型,它是 ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE 之一
返回:
如果由其他结果集类型进行的插入对于给定结果集是可见的,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

updatesAreDetected

boolean updatesAreDetected(int type)
                           throws SQLException
获取是否可以通过调用 ResultSet.rowUpdated 方法检测可见行的更新。

参数:
type - ResultSet 类型,它是 ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE 之一
返回:
如果根据结果集类型检测更改,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

deletesAreDetected

boolean deletesAreDetected(int type)
                           throws SQLException
获取是否可以通过调用 ResultSet.rowDeleted 方法检测可见行的删除。如果 deletesAreDetected 方法返回 false,则意味着从结果集中移除已删除的行。

参数:
type - ResultSet 类型,它是 ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE 之一
返回:
如果根据给定结果集类型检测删除,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

insertsAreDetected

boolean insertsAreDetected(int type)
                           throws SQLException
获取是否可以通过调用 ResultSet.rowInserted 方法检测可见行的插入。

参数:
type - ResultSet 类型,它是 ResultSet.TYPE_FORWARD_ONLYResultSet.TYPE_SCROLL_INSENSITIVEResultSet.TYPE_SCROLL_SENSITIVE 之一
返回:
如果根据指定结果集类型检测更改,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

supportsBatchUpdates

boolean supportsBatchUpdates()
                             throws SQLException
获取此数据库是否支持批量更新。

返回:
如果此数据库支持批量更新,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

getUDTs

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

仅返回与类别、模式、类型名称和类型标准匹配的类型。它们根据 DATA_TYPETYPE_CATTYPE_SCHEMTYPE_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 - 类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schemaPattern - 模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
typeNamePattern - 类型名称模式;它必须与存储在数据库中的类型名称匹配,它可以是一个完全限定名称
types - 将包括的用户定义类型(JAVA_OBJECT、STRUCT 或 DISTINCT)组成的列表;该参数为 null 则返回所有类型
返回:
ResultSet 对象,其中每一行都描述了一个 UDT
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2
另请参见:
getSearchStringEscape()

getConnection

Connection getConnection()
                         throws SQLException
获取此元数据对象所产生的连接。

返回:
此元数据对象所产生的连接
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.2

supportsSavepoints

boolean supportsSavepoints()
                           throws SQLException
获取此数据库是否支持保存点 (savepoint)。

返回:
如果保存点受支持,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.4

supportsNamedParameters

boolean supportsNamedParameters()
                                throws SQLException
获取此数据库是否支持可调用语句的指定参数。

返回:
如果指定参数受支持,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.4

supportsMultipleOpenResults

boolean supportsMultipleOpenResults()
                                    throws SQLException
获取是否可以同时拥有从 CallableStatement 对象中返回的多个 ResultSet 对象。

返回:
如果一个 CallableStatement 对象可以同时返回多个 ResultSet 对象,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.4

supportsGetGeneratedKeys

boolean supportsGetGeneratedKeys()
                                 throws SQLException
获取是否可以在执行语句后获取自动生成的键。

返回:
如果可以在已执行语句后获取自动生成的键,则返回 true;否则返回 false

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

抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.4

getSuperTypes

ResultSet getSuperTypes(String catalog,
                        String schemaPattern,
                        String typeNamePattern)
                        throws SQLException
获取在此数据库的特定模式中定义的用户定义类型 (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 - 类别名称,该参数为 "" 表示获取没有类别的那些描述,为 null 则表示从选择标准中删除类别名称
schemaPattern - 模式名称的模式,该参数为 "" 表示获取没有模式的那些描述
typeNamePattern - UDT 名称模式,可以是一个完全限定名称
返回:
ResultSet 对象,其中一行给出了关于指定 UDT 的信息
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.4
另请参见:
getSearchStringEscape()

getSuperTables

ResultSet getSuperTables(String catalog,
                         String schemaPattern,
                         String tableNamePattern)
                         throws SQLException
获取在此数据库的特定模式中定义的表分层结构的描述。

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

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

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

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

参数:
catalog - 类别名称,该参数为 "" 表示获取没有类别的那些描述,为 null 则表示从选择标准中删除类别名称
schemaPattern - 模式名称的模式,该参数为 "" 表示获取没有模式的那些描述
tableNamePattern - 表名称模式,可以是一个完全限定名称
返回:
一个 ResultSet 对象,其中的每一行都是一个类型描述
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.4
另请参见:
getSearchStringEscape()

getAttributes

ResultSet getAttributes(String catalog,
                        String schemaPattern,
                        String typeNamePattern,
                        String attributeNamePattern)
                        throws SQLException
获取可在给定模式和类别中使用的用户定义类型 (UDT) 的给定类型的给定属性的描述。

仅返回与类别、模式、类型和属性名称标准匹配的 UDT 的属性描述。它们根据 TYPE_CATTYPE_SCHEMTYPE_NAMEORDINAL_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 - 类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schemaPattern - 模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
typeNamePattern - 类型名称模式;它必须与存储在数据库中的类型名称匹配
attributeNamePattern - 属性名称模式;它必须与在数据库中被声明的属性名称匹配
返回:
一个 ResultSet 对象,其中每一行都是一个属性描述
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.4
另请参见:
getSearchStringEscape()

supportsResultSetHoldability

boolean supportsResultSetHoldability(int holdability)
                                     throws SQLException
获取此数据库是否支持给定结果集可保存性。

参数:
holdability - 以下常量之一:ResultSet.HOLD_CURSORS_OVER_COMMITResultSet.CLOSE_CURSORS_AT_COMMIT
返回:
如果支持,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.4
另请参见:
Connection

getResultSetHoldability

int getResultSetHoldability()
                            throws SQLException
针对 ResultSet 对象获取此数据库的默认可保存性。

返回:
默认可保存性,它是 ResultSet.HOLD_CURSORS_OVER_COMMITResultSet.CLOSE_CURSORS_AT_COMMIT
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.4

getDatabaseMajorVersion

int getDatabaseMajorVersion()
                            throws SQLException
获取底层数据库的主版本号。

返回:
底层数据库的主版本号
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.4

getDatabaseMinorVersion

int getDatabaseMinorVersion()
                            throws SQLException
底层数据库的次版本号。

返回:
底层数据库的次版本号
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.4

getJDBCMajorVersion

int getJDBCMajorVersion()
                        throws SQLException
获取此驱动程序的主 JDBC 版本号。

返回:
JDBC 的主版本号
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.4

getJDBCMinorVersion

int getJDBCMinorVersion()
                        throws SQLException
获取此驱动程序的次 JDBC 版本号。

返回:
JDBC 的次版本号
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.4

getSQLStateType

int getSQLStateType()
                    throws SQLException
指示由 SQLException.getSQLState 返回的 SQLSTATE 是 X/Open(现在称为 Open Group)SQL CLI 还是 SQL:2003。

返回:
SQLSTATE 的类型,它为 sqlStateXOpen 或 sqlStateSQL 之一
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.4

locatorsUpdateCopy

boolean locatorsUpdateCopy()
                           throws SQLException
指示对 LOB 的更新是在副本上进行还是直接更新到 LOB。

返回:
如果更新在 LOB 的副本上进行,则返回 true;如果直接更新到 LOB,则返回 false
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.4

supportsStatementPooling

boolean supportsStatementPooling()
                                 throws SQLException
获取此数据库是否支持语句合并 (statement pooling)。

返回:
如果支持,则返回 true;否则返回 false
抛出:
SQLExcpetion - 如果发生数据库访问错误
SQLException
从以下版本开始:
1.4

getRowIdLifetime

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) 意味着在其包含的所有事务中有效。

返回:
指示 RowId 生存期的状态
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.6

getSchemas

ResultSet getSchemas(String catalog,
                     String schemaPattern)
                     throws SQLException
获取此数据库中可用的模式名称。结果根据 TABLE_CATALOGTABLE_SCHEM 进行排序。

模式列为:

  1. TABLE_SCHEM String => 模式名称
  2. TABLE_CATALOG String => 类别名称(可以为 null

参数:
catalog - 类别名称;它必须与存储在数据库中的类别名称匹配;为 "" 表示获取没有类别的模式名称;为 null 表示该类别名称不应该用于缩小搜索范围。
schemaPattern - 模式名称;它必须与存储在数据库中的模式名称匹配;为 null 则表示该模式名称不应该用于缩小搜索范围。
返回:
每行是一个模式描述的 ResultSet 对象
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.6
另请参见:
getSearchStringEscape()

supportsStoredFunctionsUsingCallSyntax

boolean supportsStoredFunctionsUsingCallSyntax()
                                               throws SQLException
获取此数据库是否支持使用存储过程转义语法调用用户定义的函数或供应商函数。

返回:
如果支持,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.6

autoCommitFailureClosesAllResultSets

boolean autoCommitFailureClosesAllResultSets()
                                             throws SQLException
当 autoCommit 为 true 时,获取 SQLException 是否指示所有打开的 ResultSets 已关闭(包括那些可保持的)。当发生 SQLException 而 autocommit 为 true 时,则 JDBC 驱动程序是以提交操作、回滚操作响应还是既不提交也不回滚是特定于供应商的。此差异的可能结果在于可保持的 ResultSets 是否关闭。

返回:
如果是,则返回 true;否则返回 false
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.6

getClientInfoProperties

ResultSet getClientInfoProperties()
                                  throws SQLException
获取驱动程序支持的客户端信息属性的列表。结果集包括以下列

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

ResultSet 按 NAME 列排序

返回:
一个 ResultSet 对象;每行是一个客户端信息属性

抛出:
SQLException - 如果发生数据库访问错误

从以下版本开始:
1.6

getFunctions

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

只返回那些匹配模式和函数名称标准的系统和用户函数的描述。它们按照 FUNCTION_CATFUNCTION_SCHEMFUNCTION_NAMESPECIFIC_ 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 - 类别名称;它必须与存储在数据库中的类别名称匹配;为 "" 表示获取没有类别的那些描述;为 null 表示该类别名称不应该用于缩小搜索范围
schemaPattern - 模式名称的模式;它必须与存储在数据库中的模式名称匹配;为 "" 表示获取没有模式的那些描述;为 null 表示该模式名称不应该用于缩小搜索范围
functionNamePattern - 函数名称模式;它必须与存储在数据库中的函数名称匹配
返回:
ResultSet - 每行是一个函数描述
抛出:
SQLException - 如果发生数据库访问错误
从以下版本开始:
1.6
另请参见:
getSearchStringEscape()

getFunctionColumns

ResultSet getFunctionColumns(String catalog,
                             String schemaPattern,
                             String functionNamePattern,
                             String columnNamePattern)
                             throws SQLException
获取给定类别的系统或用户函数参数和返回类型的描述。

只返回那些匹配模式、函数和参数名称标准的描述。它们按照 FUNCTION_CATFUNCTION_SCHEMFUNCTION_NAMESPECIFIC_ 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 - 类别名称;它必须与存储在数据库中的类别名称匹配;为 "" 表示获取没有类别的那些描述;为 null 表示该类别名称不应该用于缩小搜索范围
schemaPattern - 模式名称的模式;它必须与存储在数据库中的模式名称匹配;为 "" 表示获取没有模式的那 些描述;为 null 表示该模式名称不应该用于缩小搜索范围
functionNamePattern - 进程名称模式;它必须与存储在数据库中的函数名称匹配
columnNamePattern - 参数名称模式;它必须与存储在数据库中的参数或列名称匹配
返回:
ResultSet - 每行描述一个用户函数参数、列或返回类型
抛出:
SQLException - 如果发生数据库访问错误。
从以下版本开始:
1.6
另请参见:
getSearchStringEscape()

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策