接口 java.sql.DatabaseMetaData
- public interface DatabaseMetaData
该类提供了关于数据库的整体信息。
这里的许多方法将在 ResultSets 中返回信息列表。可以使用一般的 ResultSet 方法如 getString 和 getInt 从这些 ResultSet 中检索数据。如果给定的元数据格式是不可用的,这些方法将抛出一个 SQLException。
有些方法采用 String 模式的参数。这些参数都具有诸如 fooPattern 的名称。在一个模式字符串中,"%" 表示匹配任意由 0 个或多个字符组成的子字符串,"_" 表示匹配任意一个字符。只返回与搜索模式匹配的元数据项。如果将一个搜索模式参数设置为 null 引用,这意味着将从搜索中删除该参数的标准。
如果驱动程序不支持元数据方法,将抛出一个 SQLException。在方法返回一个 ResultSet 的情况下,将返回一个 ResultSet ( 它可能为空 )
或者抛出一个 SQLException。
变量索引
- bestRowNotPseudo
- BEST ROW PSEUDO_COLUMN - 不是一个伪列。
- bestRowPseudo
- BEST ROW PSEUDO_COLUMN - 是一个伪列。
- bestRowSession
- BEST ROW SCOPE - 对于当前会话的剩余行有效。
- bestRowTemporary
- BEST ROW SCOPE - 当使用行时,是暂时的。
- bestRowTransaction
- BEST ROW SCOPE - 对于当前事务的剩余行有效。
- bestRowUnknown
- BEST ROW PSEUDO_COLUMN - 可能是或不是伪列。
- columnNoNulls
- COLUMN NULLABLE - 可能不允许 NULL 值。
- columnNullable
- COLUMN NULLABLE - 明确的允许 NULL 值。
- columnNullableUnknown
- COLUMN NULLABLE - 不知道是否允许 NULL 值。
- importedKeyCascade
- IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 对于更新,将改变导入的关键字使它与主关键字的更新保持一致;对于删除,将删除导入了已删除关键字的行。
- importedKeyInitiallyDeferred
- IMPORT KEY DEFERRABILITY - 关于定义请参见 SQL92。
- importedKeyInitiallyImmediate
- IMPORT KEY DEFERRABILITY - 关于定义请参见 SQL92。
- importedKeyNoAction
- IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果它已经被导入,不允许更新或删除主关键字。
- importedKeyNotDeferrable
- IMPORT KEY DEFERRABILITY - 关于定义请参见 SQL92。
- importedKeyRestrict
- IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果它已经被导入,不允许更新或删除主关键字。
- importedKeySetDefault
- IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果主关键字已经被更新或删除,把导入的关键字改为缺省值。
- importedKeySetNull
- IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果主关键字已经被更新或删除,把导入的关键字改为 NULL。
- procedureColumnIn
- COLUMN_TYPE - IN 参数。
- procedureColumnInOut
- COLUMN_TYPE - INOUT 参数。
- procedureColumnOut
- COLUMN_TYPE - OUT 参数。
- procedureColumnResult
- COLUMN_TYPE - ResultSet 中的结果列。
- procedureColumnReturn
- COLUMN_TYPE - 过程返回值。
- procedureColumnUnknown
- COLUMN_TYPE - 未知值。
- procedureNoNulls
- TYPE NULLABLE - 不允许 NULL 值。
- procedureNoResult
- PROCEDURE_TYPE - 不返回结果。
- procedureNullable
- TYPE NULLABLE - 允许 NULL 值。
- procedureNullableUnknown
- TYPE NULLABLE - 不知道是否允许 NULL 值。
- procedureResultUnknown
- PROCEDURE_TYPE - 可能返回一个结果。
- procedureReturnsResult
- PROCEDURE_TYPE - 返回结果。
- tableIndexClustered
- INDEX INFO TYPE - 它定义了一个分簇的索引。
- tableIndexHashed
- INDEX INFO TYPE - 它定义了一个散列的索引。
- tableIndexOther
- INDEX INFO TYPE - 它定义了其它形式的索引。
- tableIndexStatistic
- INDEX INFO TYPE - 它定义了表的统计信息,该信息与表的索引描述一起返回。
- typeNoNulls
- TYPE NULLABLE - 不允许 NULL 值。
- typeNullable
- TYPE NULLABLE - 允许 NULL 值。
- typeNullableUnknown
- TYPE NULLABLE - 不知道是否允许 NULL 值。
- typePredBasic
- TYPE INFO SEARCHABLE - 除 WHERE .. 以外的都支持。
- typePredChar
- TYPE INFO SEARCHABLE - 只支持 WHERE ..
- typePredNone
- TYPE INFO SEARCHABLE - 没有支持。
- typeSearchable
- TYPE INFO SEARCHABLE - 所有的 WHERE .. 都支持。
- versionColumnNotPseudo
- VERSION COLUMNS PSEUDO_COLUMN - 不是一个伪列。
- versionColumnPseudo
- VERSION COLUMNS PSEUDO_COLUMN - 是一个伪列。
- versionColumnUnknown
- VERSION COLUMNS PSEUDO_COLUMN - 可能是或不是伪列。
方法索引
- allProceduresAreCallable()
- 当前用户是否可以调用所有由 getProcedures 返回的过程?
- allTablesAreSelectable()
- 当前用户是否可以 SELECT 所有由 getTable 返回的表?
- dataDefinitionCausesTransactionCommit()
- 一个事务中的数据定义语句是否强迫事务提交?
- dataDefinitionIgnoredInTransactions()
- 是否被忽略一个事务中的数据定义语句?
- doesMaxRowSizeIncludeBlobs()
- getMaxRowSize() 是否包含 LONGVARCHAR 和 LONGVARBINARY 大对象?
- getBestRowIdentifier(String, String, String, int, boolean)
- 获得一个表中能唯一地标识一行的最优的列集合的说明。
- getCatalogs()
- 获得可用于该数据库中的分类表名。
- getCatalogSeparator()
- 获得分类表名和表名之间的分隔符。
- getCatalogTerm()
- 获得数据库供应商的“分类表”的首选项。
- getColumnPrivileges(String, String, String, String)
- 获得对表的某一列的访问权的说明。
- getColumns(String, String, String, String)
- 获得可用于分类表中的对表列的说明。
- getCrossReference(String, String, String, String, String, String)
- 获得外部关键字表中外部关键字列的说明,它引用主关键字表中的主关键字列 ( 说明了一个表如何导入另一个表的关键字 )。通常它应该返回一个外部关键字 / 主关键字对 ( 大部分表每次只从一个表中导入一个关键字 )。它们以 FKTABLE_CAT、FKTABLE_SCHEM、FKTABLE_NAME 和 KEY_SEQ 排序。
- getDatabaseProductName()
- 获得该数据库产品名称。
- getDatabaseProductVersion()
- 获得该数据库产品的版本。
- getDefaultTransactionIsolation()
- 获得数据库缺省的事务隔离级别。数值定义在 java.sql.Connection 中。
- getDriverMajorVersion()
- 获得该 JDBC 驱动程序的主版本号。
- getDriverMinorVersion()
- 获得该 JDBC 驱动程序的次版本号。
- getDriverName()
- 获得该 JDBC 驱动程序的名称。
- getDriverVersion()
- 获得该 JDBC 驱动程序的版本。
- getExportedKeys(String, String, String)
- 获得一个外部关键字表列的说明,该外部关键字列引用一个表的主关键字列 ( 外部关键字由一个表导出 )。
- getExtraNameCharacters()
- 获得所有“附加的”字符,它们可用于未加引号的标识符名称中 ( 在
a-z、A-Z、0-9 范围之外的字符和 _)。
- getIdentifierQuoteString()
- 获得用于加引号于 SQL 标识符的引号字符串。如果不支持标识符加引号,它将返回一个空格 " "。
- getImportedKeys(String, String, String)
- 获得一个主关键字表列的说明,该主关键字列被一个表的外部关键字列引用 ( 该主关键字由一个表导入 )。
- getIndexInfo(String, String, String, boolean, boolean)
- 获得一个关于表的索引和统计信息。
- getMaxBinaryLiteralLength()
- 获得嵌入的二进制文字中允许的十六进制字符的最大数目。
- getMaxCatalogNameLength()
- 获得分类表名的最大长度。
- getMaxCharLiteralLength()
- 获得一个二进制文字的最大长度。
- getMaxColumnNameLength()
- 获得对列名的长度的限制。
- getMaxColumnsInGroupBy()
- 获得在一个 "GROUP BY" 子句中最大的列数。
- getMaxColumnsInIndex()
- 获得一个索引中允许最大的列数。
- getMaxColumnsInOrderBy()
- 获得在一个 "ORDER BY" 子句中最大的列数。
- getMaxColumnsInSelect()
- 获得在一个 "SELECT" 列表中最大的列数。
- getMaxColumnsInTable()
- 获得一个表中最大的列数。
- getMaxConnections()
- 获得同时与该数据库连接的有效连接的最大数目。
- getMaxCursorNameLength()
- 获得游标名的最大长度。
- getMaxIndexLength()
- 获得一个索引的最大长度 ( 以字节计 )。
- getMaxProcedureNameLength()
- 获得过程名的最大长度。
- getMaxRowSize()
- 获得单个行的最大长度。
- getMaxSchemaNameLength()
- 获得一个模式名允许的最大长度。
- getMaxStatementLength()
- 获得 SQL 语句的最大长度。
- getMaxStatements()
- 获得同时对该数据库打开的有效语句的数目。
- getMaxTableNameLength()
- 获得表名的最大长度。
- getMaxTablesInSelect()
- 获得一个 SELECT 中表的最大数目。
- getMaxUserNameLength()
- 获得用户名的最大长度。
- getNumericFunctions()
- 获得一个用逗号隔开的数学函数列表。
- getPrimaryKeys(String, String, String)
- 获得关于一个表主关键字列的说明。
- getProcedureColumns(String, String, String, String)
- 获得关于一个分类表的存储过程参数和结果列的说明。
- getProcedures(String, String, String)
- 获得关于可用于一个分类表中的存储过程的说明。
- getProcedureTerm()
- 获得数据库供应商的“过程”的首选项。
- getSchemas()
- 获得可用于该数据库中的模式名。
- getSchemaTerm()
- 获得数据库供应商的“模式”的首选项。
- getSearchStringEscape()
- 获得在字符串模式风格分类表搜索参数中用于改变 '_' 或 '%' 的含义的转义字符串。
- getSQLKeywords()
- 获得一个用逗号隔开的一个数据库所有 SQL 关键字的列表,它们不是
SQL92 关键字。
- getStringFunctions()
- 获得一个用逗号隔开的字符串函数列表。
- getSystemFunctions()
- 获得一个用逗号隔开的系统功能列表。
- getTablePrivileges(String, String, String)
- 获得对可用于分类表中的表访问权的说明。
- getTables(String, String, String, String[])
- 获得可用于一个分类表中的表的说明。
- getTableTypes()
- 获得可用于该数据库中的表的类型。
- getTimeDateFunctions()
- 获得一个用逗号隔开的时间日期函数列表。
- getTypeInfo()
- 获得该数据库支持的所有标准 SQL 类型说明。
- getURL()
- 获得该数据库的 url。
- getUserName()
- 获得数据库知道的用户名。
- getVersionColumns(String, String, String)
- 获得关于表的列的说明,当修改一行中任何数值时该列被自动修改。
- isCatalogAtStart()
- 一个分类表是否出现在一个合法的表名的开始?( 否则它出现在末尾 )
- isReadOnly()
- 数据库是否在只读模式?
- nullPlusNonNullIsNull()
- 将 NULL 和非 NULL 值进行拼接是否为 NULL? 一个遵守 JDBC
的驱动程序总是返回 true。
- nullsAreSortedAtEnd()
- 无论排序次序如何,NULL 值是否总排在末尾?
- nullsAreSortedAtStart()
- 无论排序次序如何,NULL 值是总否排在开始?
- nullsAreSortedHigh()
- NULL 值是否被排在高端?
- nullsAreSortedLow()
- NULL 值是否被排在低端?
- storesLowerCaseIdentifiers()
- 该数据库是否将大小写混合的未加引号的 SQL 标识符作为大小写不敏感的来对待,并以小写形式存储它们?
- storesLowerCaseQuotedIdentifiers()
- 该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写不敏感的来对待,并以小写形式存储它们?
- storesMixedCaseIdentifiers()
- 该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写不敏感的来对待,并以混合形式存储它们?
- storesMixedCaseQuotedIdentifiers()
- 该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写不敏感的来对待,并以混合形式存储它们?
- storesUpperCaseIdentifiers()
- 该数据库是否将大小写混合的未加引号的 SQL 标识符作为大小写不敏感的来对待,并以大写形式存储它们?
- storesUpperCaseQuotedIdentifiers()
- 该数据库是否将大小写混合的被加引号 SQL 标识符作为大小写不敏感的来对待,并以大写形式存储它们?
- supportsAlterTableWithAddColumn()
- 是否支持具有添加列功能的 "ALTER TABLE"?
- supportsAlterTableWithDropColumn()
- 是否支持具有被删除列功能的 "ALTER TABLE"?
- supportsANSI92EntryLevelSQL()
- 是否支持 ANSI92 入口级 SQL 语法检查? 所有遵守 JDBC 的驱动程序必须返回 true。
- supportsANSI92FullSQL()
- 是否支持 ANSI92 完全级 SQL 语法检查?
- supportsANSI92IntermediateSQL()
- 是否支持 ANSI92 中间级 SQL 语法检查?
- supportsCatalogsInDataManipulation()
- 分类表名是否可以用于数据操作语句中?
- supportsCatalogsInIndexDefinitions()
- 分类表名是否可以用于索引定义语句中?
- supportsCatalogsInPrivilegeDefinitions()
- 分类表名是否可以用于特权定义语句中?
- supportsCatalogsInProcedureCalls()
- 分类表名是否可以用于过程调用语句中?
- supportsCatalogsInTableDefinitions()
- 分类表名是否可以用于表定义语句中?
- supportsColumnAliasing()
- 是否支持列的别名设置?
如果支持,SQL AS 子句可以用于为已计算过的列提供一个名字,或者根据请求为列提供别名。
- supportsConvert()
- 是否支持 SQL 类型之间的 CONVERT 功能?
- supportsConvert(int, int)
- 是否支持给定的 SQL 类型之间的 CONVERT?
- supportsCoreSQLGrammar()
- 是否支持 ODBC 核心 SQL 语法检查?
- supportsCorrelatedSubqueries()
- 是否支持相关的子查询? 一个遵守 JDBC 的驱动程序总是返回 true。
- supportsDataDefinitionAndDataManipulationTransactions()
- 在一个事务中是否同时支持数据定义和数据操作语句?
- supportsDataManipulationTransactionsOnly()
- 在一个事务中是否只支持数据操作语句?
- supportsDifferentTableCorrelationNames()
- 是否支持表的相关名,是否限制它们与其表名不同?
- supportsExpressionsInOrderBy()
- 是否支持 "ORDER BY" 列表中的表达式?
- supportsExtendedSQLGrammar()
- 是否支持 ODBC 扩展的 SQL 语法检查?
- supportsFullOuterJoins()
- 是否支持全嵌套的外部连接?
- supportsGroupBy()
- 是否支持某些格式的 "GROUP BY" 子句?
- supportsGroupByBeyondSelect()
- 假设一个 "GROUP BY" 子句指明了 SELECT 中所有的列,它是否能添加在 SELECT 中出现的列?
- supportsGroupByUnrelated()
- 一个 "GROUP BY" 子句是否不能在 SELECT 中使用列?
- supportsIntegrityEnhancementFacility()
- 是否支持 SQL 完整性增强工具?
- supportsLikeEscapeClause()
- 是否支持 "LIKE" 子句中的转义字符? 一个遵守 JDBC 的驱动程序总是返回 true。
- supportsLimitedOuterJoins()
- 对外部连接是否具有有限的支持?( 如果 supportFullOuterJoins 为
true 则该条件成立 )。
- supportsMinimumSQLGrammar()
- 是否支持 ODBC 最小 SQL 语法检查?
所有遵守 JDBC 的驱动程序必须返回 true。
- supportsMixedCaseIdentifiers()
- 该数据库是否将大小写混合的未加引号的 SQL 标识符作为大小写敏感的来对待,并以混合形式存储它们? 一个遵守 JDBC 的驱动程序将总是返回 false。
- supportsMixedCaseQuotedIdentifiers()
- 该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写敏感的来对待,并以混合形式存储它们? 一个遵守 JDBC 的驱动程序将总是返回 true。
- supportsMultipleResultSets()
- 是否支持单个执行返回多 ResultSet?
- supportsMultipleTransactions()
- 是否可以同时打开多个事务 ( 在不同的连接上 )?
- supportsNonNullableColumns()
- 是否可以定义列不能为 null?
一个遵守 JDBC 的驱动程序总是返回 true。
- supportsOpenCursorsAcrossCommit()
- 提交时游标是否能够保持开放?
- supportsOpenCursorsAcrossRollback()
- 回滚时游标是否能够保持开放?
- supportsOpenStatementsAcrossCommit()
- 提交时语句是否能够保持开放?
- supportsOpenStatementsAcrossRollback()
- 回滚时语句是否能够保持开放?
- supportsOrderByUnrelated()
- 一个 "ORDER BY" 子句是否能使用不在 SELECT 中出现的列?
- supportsOuterJoins()
- 是否支持某些格式的外部连接?
- supportsPositionedDelete()
- 是否支持定位的 DELETE?
- supportsPositionedUpdate()
- 是否支持定位的 UPDATE?
- supportsSchemasInDataManipulation()
- 模式名是否可以用于数据操作语句中?
- supportsSchemasInIndexDefinitions()
- 模式名是否可以用于索引定义语句中?
- supportsSchemasInPrivilegeDefinitions()
- 模式名是否可以用于特权定义语句中?
- supportsSchemasInProcedureCalls()
- 模式名是否可以用于过程调用中?
- supportsSchemasInTableDefinitions()
- 模式名是否可以用于表定义语句中?
- supportsSelectForUpdate()
- 是否支持对 UPDATE 的 SELECT?
- supportsStoredProcedures()
- 是否支持使用存储过程转义语法的存储过程调用?
- supportsSubqueriesInComparisons()
- 是否支持比较表达式中的子查询?
一个遵守 JDBC 的驱动程序总是返回 true。
- supportsSubqueriesInExists()
- 是否支持 'exists' 表达式中的子查询?
一个遵守 JDBC 的驱动程序总是返回 true。
- supportsSubqueriesInIns()
- 是否支持 'in' 语句中的子查询?
一个遵守 JDBC 的驱动程序总是返回 true。
- supportsSubqueriesInQuantifieds()
- 是否支持合法的表达式中的子查询?
一个遵守 JDBC 的驱动程序总是返回 true。
- supportsTableCorrelationNames()
- 是否支持表的相关名?
一个遵守 JDBC 的驱动程序总是返回 true。
- supportsTransactionIsolationLevel(int)
- 该数据库是否支持给定的事务隔离级别?
- supportsTransactions()
- 是否支持事务? 如果不支持,则提交的是一个空操作,且隔离级别为
TRANSACTION_NONE。
- supportsUnion()
- 是否支持 SQL UNION?
- supportsUnionAll()
- 是否支持 SQL UNION ALL?
- usesLocalFilePerTable()
- 数据库是否为每个表使用一个文件?
- usesLocalFiles()
- 数据库是否把表存储在本地文件中?
变量
procedureResultUnknown
public static final int procedureResultUnknown
- PROCEDURE_TYPE - 可能返回一个结果。
procedureNoResult
public static final int procedureNoResult
- PROCEDURE_TYPE - 不返回结果。
procedureReturnsResult
public static final int procedureReturnsResult
- PROCEDURE_TYPE - 返回结果。
procedureColumnUnknown
public static final int procedureColumnUnknown
- COLUMN_TYPE - 未知值。
procedureColumnIn
public static final int procedureColumnIn
- COLUMN_TYPE - IN 参数。
procedureColumnInOut
public static final int procedureColumnInOut
- COLUMN_TYPE - INOUT 参数。
procedureColumnOut
public static final int procedureColumnOut
- COLUMN_TYPE - OUT 参数。
procedureColumnReturn
public static final int procedureColumnReturn
- COLUMN_TYPE - 过程返回值。
procedureColumnResult
public static final int procedureColumnResult
- COLUMN_TYPE - ResultSet 中的结果列。
procedureNoNulls
public static final int procedureNoNulls
- TYPE NULLABLE - 不允许 NULL 值。
procedureNullable
public static final int procedureNullable
- TYPE NULLABLE - 允许 NULL 值。
procedureNullableUnknown
public static final int procedureNullableUnknown
- TYPE NULLABLE - 不知道是否允许 NULL 值。
columnNoNulls
public static final int columnNoNulls
- COLUMN NULLABLE - 可能不允许 NULL 值。
columnNullable
public static final int columnNullable
- COLUMN NULLABLE - 明确的允许 NULL 值。
columnNullableUnknown
public static final int columnNullableUnknown
- COLUMN NULLABLE - 不知道是否允许 NULL 值。
bestRowTemporary
public static final int bestRowTemporary
- BEST ROW SCOPE - 当使用行时,是暂时的。
bestRowTransaction
public static final int bestRowTransaction
- BEST ROW SCOPE - 对于当前事务的剩余行有效。
bestRowSession
public static final int bestRowSession
- BEST ROW SCOPE - 对于当前会话的剩余行有效。
bestRowUnknown
public static final int bestRowUnknown
- BEST ROW PSEUDO_COLUMN - 可能是或不是伪列。
bestRowNotPseudo
public static final int bestRowNotPseudo
- BEST ROW PSEUDO_COLUMN - 不是一个伪列。
bestRowPseudo
public static final int bestRowPseudo
- BEST ROW PSEUDO_COLUMN - 是一个伪列。
versionColumnUnknown
public static final int versionColumnUnknown
- VERSION COLUMNS PSEUDO_COLUMN - 可能是或不是伪列。
versionColumnNotPseudo
public static final int versionColumnNotPseudo
- VERSION COLUMNS PSEUDO_COLUMN - 不是一个伪列。
versionColumnPseudo
public static final int versionColumnPseudo
- VERSION COLUMNS PSEUDO_COLUMN - 是一个伪列。
importedKeyCascade
public static final int importedKeyCascade
- IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 对于更新,将改变导入的关键字使它与主关键字的更新保持一致;对于删除,将删除导入一个已删除关键字的行。
importedKeyRestrict
public static final int importedKeyRestrict
- IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果它已经被导入,不允许更新或删除主关键字。
importedKeySetNull
public static final int importedKeySetNull
- IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果主关键字已经被更新或删除,把导入的关键字改为 NULL。
importedKeyNoAction
public static final int importedKeyNoAction
- IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果它已经被导入,不允许更新或删除主关键字。
importedKeySetDefault
public static final int importedKeySetDefault
- IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果主关键字已经被更新或删除,把导入的关键字改为缺省值。
importedKeyInitiallyDeferred
public static final int importedKeyInitiallyDeferred
- IMPORT KEY DEFERRABILITY - 关于定义请参见 SQL92。
importedKeyInitiallyImmediate
public static final int importedKeyInitiallyImmediate
- IMPORT KEY DEFERRABILITY - 关于定义请参见 SQL92。
importedKeyNotDeferrable
public static final int importedKeyNotDeferrable
- IMPORT KEY DEFERRABILITY - 关于定义请参见 SQL92。
typeNoNulls
public static final int typeNoNulls
- TYPE NULLABLE - 不允许 NULL 值。
typeNullable
public static final int typeNullable
- TYPE NULLABLE - 允许 NULL 值。
typeNullableUnknown
public static final int typeNullableUnknown
- TYPE NULLABLE - 不知道是否允许 NULL 值。
typePredNone
public static final int typePredNone
- TYPE INFO SEARCHABLE - 没有支持。
typePredChar
public static final int typePredChar
- TYPE INFO SEARCHABLE - 只支持 WHERE 。 LIKE。
typePredBasic
public static final int typePredBasic
- TYPE INFO SEARCHABLE - 除 WHERE 以外的都支持。 LIKE。
typeSearchable
public static final int typeSearchable
- TYPE INFO SEARCHABLE - 所有的 WHERE 都支持。
tableIndexStatistic
public static final short tableIndexStatistic
- INDEX INFO TYPE - 它定义了表的统计信息,该信息与表的索引描述一起返回。
tableIndexClustered
public static final short tableIndexClustered
- INDEX INFO TYPE - 它定义了一个分簇的索引。
tableIndexHashed
public static final short tableIndexHashed
- INDEX INFO TYPE - 它定义了一个散列的索引。
tableIndexOther
public static final short tableIndexOther
- INDEX INFO TYPE - 它定义了其它导引形式的索引。
方法
allProceduresAreCallable
public abstract boolean allProceduresAreCallable() throws SQLException
- 当前用户是否可以调用所有由 getProcedures 返回的过程?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
allTablesAreSelectable
public abstract boolean allTablesAreSelectable() throws SQLException
- 当前用户是否可以 SELECT 所有由 getTable 返回的表?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
getURL
public abstract String getURL() throws SQLException
- 获得该数据库的 url。
- 返回值:
- 生成的 url,如果不能生成则为 null
- 抛出:
SQLException
- 如果发生了数据访问错误。
getUserName
public abstract String getUserName() throws SQLException
- 获得数据库知道的用户名。
- 返回值:
- 数据库的用户名
- 抛出:
SQLException
- 如果发生了数据访问错误。
isReadOnly
public abstract boolean isReadOnly() throws SQLException
- 数据库是否在只读模式?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
nullsAreSortedHigh
public abstract boolean nullsAreSortedHigh() throws SQLException
- NULL 值是否被排在高端?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
nullsAreSortedLow
public abstract boolean nullsAreSortedLow() throws SQLException
- NULL 值是否被排在低端?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
nullsAreSortedAtStart
public abstract boolean nullsAreSortedAtStart() throws SQLException
- 无论排序次序如何,NULL 值是总否排在开始?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
nullsAreSortedAtEnd
public abstract boolean nullsAreSortedAtEnd() throws SQLException
- 无论排序次序如何,NULL 值是否总排在末尾?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
getDatabaseProductName
public abstract String getDatabaseProductName() throws SQLException
- 获得该数据库产品的名称。
- 返回值:
- 数据库产品名称
- 抛出:
SQLException
- 如果发生了数据访问错误。
getDatabaseProductVersion
public abstract String getDatabaseProductVersion() throws SQLException
- 获得该数据库产品的版本。
- 返回值:
- 数据库版本
- 抛出:
SQLException
- 如果发生了数据访问错误。
getDriverName
public abstract String getDriverName() throws SQLException
- 获得该 JDBC 驱动程序的名称。
- 返回值:
- JDBC 驱动程序名
- 抛出:
SQLException
- 如果发生了数据访问错误。
getDriverVersion
public abstract String getDriverVersion() throws SQLException
- 获得该 JDBC 驱动程序的版本。
- 返回值:
- JDBC 驱动程序版本
- 抛出:
SQLException
- 如果发生了数据访问错误。
getDriverMajorVersion
public abstract int getDriverMajorVersion()
- 获得该 JDBC 驱动程序的主版本号。
- 返回值:
- JDBC 驱动程序主版本号
getDriverMinorVersion
public abstract int getDriverMinorVersion()
- 获得该 JDBC 驱动程序的次版本号。
- 返回值:
- JDBC 驱动程序的次版本号
usesLocalFiles
public abstract boolean usesLocalFiles() throws SQLException
- 数据库是否把表存储在本地文件中?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
usesLocalFilePerTable
public abstract boolean usesLocalFilePerTable() throws SQLException
- 数据库是否为每个表使用一个文件?
- 返回值:
- 如果数据库为每个表使用一个本地文件则为 true。
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsMixedCaseIdentifiers
public abstract boolean supportsMixedCaseIdentifiers()
throws SQLException
- 该数据库是否将大小写混合的未加引号的 SQL 标识符作为大小写不敏感的来对待,并以混合形式存储它们?
一个遵守 JDBC 的驱动程序将总是返回 false。
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
storesUpperCaseIdentifiers
public abstract boolean storesUpperCaseIdentifiers() throws SQLException
- 该数据库是否将大小写混合的未加引号的 SQL 标识符作为大小写不敏感的来对待,并以大写形式存储它们?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
storesLowerCaseIdentifiers
public abstract boolean storesLowerCaseIdentifiers() throws SQLException
- 该数据库是否将大小写混合的未加引号的 SQL 标识符作为大小写不敏感的来对待,并以小写形式存储它们?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
storesMixedCaseIdentifiers
public abstract boolean storesMixedCaseIdentifiers()
throws SQLException
- 该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写不敏感的来对待,并以混合形式存储它们?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsMixedCaseQuotedIdentifiers
public abstract boolean supportsMixedCaseQuotedIdentifiers()
throws SQLException
- 该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写不敏感的来对待,并以混合形式存储它们?
一个遵守 JDBC 的驱动程序将总是返回 true。
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
storesUpperCaseQuotedIdentifiers
public abstract boolean storesUpperCaseQuotedIdentifiers()
throws SQLException
- 该数据库是否将大小写混合的被加引号 SQL 标识符作为大小写不敏感的来对待,并以大写形式存储它们?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
storesLowerCaseQuotedIdentifiers
public abstract boolean storesLowerCaseQuotedIdentifiers()
throws SQLException
- 该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写不敏感的来对待,并以小写形式存储它们?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
storesMixedCaseQuotedIdentifiers
public abstract boolean storesMixedCaseQuotedIdentifiers()
throws SQLException
- 该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写不敏感的来对待,并以混合形式存储它们?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
getIdentifierQuoteString
public abstract String getIdentifierQuoteString() throws SQLException
- 获得用于引起 SQL 标识符的引号字符串。如果不支持引起标识符,它将返回一个空格 " "。
一个遵守 JDBC 的驱动程序总是使用双引号字符。
- 返回值:
- 加引号的字符串
- 抛出:
SQLException
- 如果发生了数据访问错误。
getSQLKeywords
public abstract String getSQLKeywords() throws SQLException
- 获得一个用逗号隔开的一个数据库所有 SQL 关键字的列表,它们不是
SQL92 关键字。
- 返回值:
- 该列表
- 抛出:
SQLException
- 如果发生了数据访问错误。
getNumericFunctions
public abstract String getNumericFunctions() throws SQLException
- 获得一个用逗号隔开的数学函数列表。
- 返回值:
- 该列表
- 抛出:
SQLException
- 如果发生了数据访问错误。
getStringFunctions
public abstract String getStringFunctions() throws SQLException
- 获得一个用逗号隔开的字符串函数列表。
- 返回值:
- 该列表
- 抛出:
SQLException
- 如果发生了数据访问错误。
getSystemFunctions
public abstract String getSystemFunctions() throws SQLException
- 获得一个用逗号隔开的系统功能列表。
- 返回值:
- 该列表
- 抛出:
SQLException
- 如果发生了数据访问错误。
getTimeDateFunctions
public abstract String getTimeDateFunctions() throws SQLException
- 获得一个用逗号隔开的时间日期函数列表。
- 返回值:
- 该列表
- 抛出:
SQLException
- 如果发生了数据访问错误。
getSearchStringEscape
public abstract String getSearchStringEscape() throws SQLException
- 获得在字符串模式风格的分类表搜索参数中用于改变 '_' 或 '%' 含义的转义字符串。
'_' 字符表示任何单个的字符。
'%' 字符表示任何包含零个或多个字符的序列。
- 返回值:
- 用于转换通配符含义的字符串
- 抛出:
SQLException
- 如果发生了数据访问错误。
getExtraNameCharacters
public abstract String getExtraNameCharacters() throws SQLException
- 获得所有“附加的”字符,它们可用于未被引起的标识符名称中 ( 在
a-z、A-Z、0-9 范围之外的字符和 _)。
- 1Returns:
- 包含附加字符的字符串
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsAlterTableWithAddColumn
public abstract boolean supportsAlterTableWithAddColumn()
throws SQLException
- 是否支持具有被添加列功能的 "ALTER TABLE"?
- 1Returns:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsAlterTableWithDropColumn
public abstract boolean supportsAlterTableWithDropColumn()
throws SQLException
- 是否支持具有被删除列功能的 "ALTER TABLE"?
- 1Returns:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsColumnAliasing
public abstract boolean supportsColumnAliasing() throws SQLException
- 是否支持列的别名设置?
如果支持,SQL AS 子句可以用于为已计算过的列提供一个名字,或者根据请求为列提供别名。
一个遵守 JDBC 的驱动程序总是返回 true。
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
nullPlusNonNullIsNull
public abstract boolean nullPlusNonNullIsNull()
throws SQLException
- 将 NULL 和非 NULL 值进行拼接是否为 NULL?
一个遵守 JDBC 的驱动程序总是返回 true。
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsConvert
public abstract boolean supportsConvert() throws SQLException
- 是否支持 SQL 类型之间的 CONVERT 功能?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsConvert
public abstract boolean supportsConvert(int fromType,int toType)
throws SQLException
- 是否支持给定的 SQL 类型之间的 CONVERT?
- 参数:
- fromType - 被转换的类型
- toType - 转换成该类型
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
- 参见:
- Types
supportsTableCorrelationNames
public abstract boolean supportsTableCorrelationNames()
throws SQLException
- 是否支持表的相关名?
一个遵守 JDBC 的驱动程序总是返回 true。
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsDifferentTableCorrelationNames
public abstract boolean supportsDifferentTableCorrelationNames()
throws SQLException
- 是否支持表的相关名,是否限制它们与其表名不同?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsExpressionsInOrderBy
public abstract boolean supportsExpressionsInOrderBy()
throws SQLException
- 是否支持 "ORDER BY" 列表中的表达式?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsOrderByUnrelated
public abstract boolean supportsOrderByUnrelated() throws SQLException
- 一个 "ORDER BY" 子句是否能使用在 SELECT 中出现的列?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsGroupBy
public abstract boolean supportsGroupBy() throws SQLException
- 是否支持某些格式的 "GROUP BY" 子句?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsGroupByUnrelated
public abstract boolean supportsGroupByUnrelated() throws SQLException
- 一个 "GROUP BY" 子句是否能使用在 SELECT 中出现的列?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsGroupByBeyondSelect
public abstract boolean supportsGroupByBeyondSelect()
throws SQLException
- 假设一个 "GROUP BY" 子句指明了 SELECT 中所有的列,它是否能添加未在 SELECT 中出现的列?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsLikeEscapeClause
public abstract boolean supportsLikeEscapeClause() throws SQLException
- 是否支持 "LIKE" 子句中的转义字符?
一个遵守 JDBC 的驱动程序总是返回 true。
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsMultipleResultSets
public abstract boolean supportsMultipleResultSets() throws SQLException
- 是否支持单个执行返回多个 ResultSet?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsMultipleTransactions
public abstract boolean supportsMultipleTransactions()
throws SQLException
- 是否可以同时打开多个事务 ( 在不同的连接上 )?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsNonNullableColumns
public abstract boolean supportsNonNullableColumns() throws SQLException
- 是否可以定义列不能为 null?
一个遵守 JDBC 的驱动程序总是返回 true。
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsMinimumSQLGrammar
public abstract boolean supportsMinimumSQLGrammar() throws SQLException
- 是否支持 ODBC 最小 SQL 语法检查?
所有遵守 JDBC 的驱动程序必须返回 true。
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsCoreSQLGrammar
public abstract boolean supportsCoreSQLGrammar() throws SQLException
- 是否支持 ODBC 核心 SQL 语法检查?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsExtendedSQLGrammar
public abstract boolean supportsExtendedSQLGrammar() throws SQLException
- 是否支持 ODBC 扩展的 SQL 语法检查?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsANSI92EntryLevelSQL
public abstract boolean supportsANSI92EntryLevelSQL() throws SQLException
- 是否支持 ANSI92 入口级 SQL 语法检查?
所有遵守 JDBC 的驱动程序必须返回 true。
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsANSI92IntermediateSQL
public abstract boolean supportsANSI92IntermediateSQL()
throws SQLException
- 是否支持 ANSI92 中间级 SQL 语法检查?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsANSI92FullSQL
public abstract boolean supportsANSI92FullSQL() throws SQLException
- 是否支持 ANSI92 完全级 SQL 语法检查?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsIntegrityEnhancementFacility
public abstract boolean supportsIntegrityEnhancementFacility()
throws SQLException
- 是否支持 SQL 完整性增强工具?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsOuterJoins
public abstract boolean supportsOuterJoins() throws SQLException
- 是否支持某些格式的外部连接?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsFullOuterJoins
public abstract boolean supportsFullOuterJoins() throws SQLException
- 是否支持全嵌套的外部连接?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsLimitedOuterJoins
public abstract boolean supportsLimitedOuterJoins() throws SQLException
- 对外部连接是否具有有限的支持?( 如果 supportFullOuterJoins 为
true 则该条件成立 )。
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
getSchemaTerm
public abstract String getSchemaTerm() throws SQLException
- 获得数据库供应商的“模式”的首选项。
- 返回值:
- 供应商的首选项
- 抛出:
SQLException
- 如果发生了数据访问错误。
getProcedureTerm
public abstract String getProcedureTerm() throws SQLException
- 获得数据库供应商的“过程”的首选项。
- 返回值:
- 供应商的首选项
- 抛出:
SQLException
- 如果发生了数据访问错误。
getCatalogTerm
public abstract String getCatalogTerm() throws SQLException
- 获得数据库供应商的“分类表”的首选项。
- 返回值:
- 供应商的首选项
- 抛出:
SQLException
- 如果发生了数据访问错误。
isCatalogAtStart
public abstract boolean isCatalogAtStart() throws SQLException
- 一个分类表是否出现在一个合法的表名的开始?( 否则它出现在末尾 )
- 返回值:
- 如果它出现在开始则为 true。
- 抛出:
SQLException
- 如果发生了数据访问错误。
getCatalogSeparator
public abstract String getCatalogSeparator() throws SQLException
- 获得分类表名和表名之间的分隔符。
- 返回值:
- 分隔符字符串
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsSchemasInDataManipulation
public abstract boolean supportsSchemasInDataManipulation() throws SQLException
- 模式名是否可以用于数据操作语句中?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsSchemasInProcedureCalls
public abstract boolean supportsSchemasInProcedureCalls() throws SQLException
- 模式名是否可以用于过程调用中?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsSchemasInTableDefinitions
public abstract boolean supportsSchemasInTableDefinitions()
throws SQLException
- 模式名是否可以用于表定义语句中?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsSchemasInIndexDefinitions
public abstract boolean supportsSchemasInIndexDefinitions() throws SQLException
- 模式名是否可以用于索引定义语句中?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsSchemasInPrivilegeDefinitions
public abstract boolean supportsSchemasInPrivilegeDefinitions() throws SQLException
- 模式名是否可以用于特权定义语句中?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsCatalogsInDataManipulation
public abstract boolean supportsCatalogsInDataManipulation() throws SQLException
- 分类表名是否可以用于数据操作语句中?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsCatalogsInProcedureCalls
public abstract boolean supportsCatalogsInProcedureCalls() throws SQLException
- 分类表名是否可以用于过程调用语句中?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsCatalogsInTableDefinitions
public abstract boolean supportsCatalogsInTableDefinitions() throws SQLException
- 分类表名是否可以用于表定义语句中?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsCatalogsInIndexDefinitions
public abstract boolean supportsCatalogsInIndexDefinitions() throws SQLException
- 分类表名是否可以用于索引定义语句中?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsCatalogsInPrivilegeDefinitions
public abstract boolean supportsCatalogsInPrivilegeDefinitions() throws SQLException
- 分类表名是否可以用于特权定义语句中?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsPositionedDelete
public abstract boolean supportsPositionedDelete() throws SQLException
- 是否支持定位的 DELETE?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsPositionedUpdate
public abstract boolean supportsPositionedUpdate() throws SQLException
- 是否支持定位的 UPDATE?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsSelectForUpdate
public abstract boolean supportsSelectForUpdate() throws SQLException
- 是否支持对 UPDATE 的 SELECT?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsStoredProcedures
public abstract boolean supportsStoredProcedures() throws SQLException
- 是否支持使用存储过程转义语法的存储过程调用?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsSubqueriesInComparisons
public abstract boolean supportsSubqueriesInComparisons() throws SQLException
- 是否支持比较表达式中的子查询?
一个遵守 JDBC 的驱动程序总是返回 true。
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsSubqueriesInExists
public abstract boolean supportsSubqueriesInExists() throws SQLException
- 是否支持 'exists' 表达式中的子查询?
一个遵守 JDBC 的驱动程序总是返回 true。
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsSubqueriesInIns
public abstract boolean supportsSubqueriesInIns() throws SQLException
- 是否支持 'in' 语句中的子查询?
一个遵守 JDBC 的驱动程序总是返回 true。
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsSubqueriesInQuantifieds
public abstract boolean supportsSubqueriesInQuantifieds() throws SQLException
- 是否支持合法的表达式中的子查询?
一个遵守 JDBC 的驱动程序总是返回 true。
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsCorrelatedSubqueries
public abstract boolean supportsCorrelatedSubqueries() throws SQLException
- 是否支持相关的子查询?
一个遵守 JDBC 的驱动程序总是返回 true。
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsUnion
public abstract boolean supportsUnion() throws SQLException
- 是否支持 SQL UNION?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsUnionAll
public abstract boolean supportsUnionAll() throws SQLException
- 是否支持 SQL UNION ALL?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsOpenCursorsAcrossCommit
public abstract boolean supportsOpenCursorsAcrossCommit() throws SQLException
- 提交时游标是否能够保持开放?
- 返回值:
- 如果游标总保持开放则为 true;否则如果可能不保持开放则为 false。
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsOpenCursorsAcrossRollback
public abstract boolean supportsOpenCursorsAcrossRollback() throws SQLException
- 回滚时游标是否能够保持开放?
- 返回值:
- 如果游标总保持开放则为 true;否则如果可能不保持开放则为 false。
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsOpenStatementsAcrossCommit
public abstract boolean supportsOpenStatementsAcrossCommit() throws SQLException
- 提交时语句是否能够保持开放?
- 返回值:
- 如果语句总保持开放则为 true;否则如果可能不保持开放则为 false。
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsOpenStatementsAcrossRollback
public abstract boolean supportsOpenStatementsAcrossRollback() throws SQLException
- 回滚时语句是否能够保持开放?
- 返回值:
- 如果语句总保持开放则为 true;否则如果可能不保持开放则为 false。
- 抛出:
SQLException
- 如果发生了数据访问错误。
getMaxBinaryLiteralLength
public abstract int getMaxBinaryLiteralLength() throws SQLException
- 获得嵌入的二进制文字中允许的十六进制字符的最大数目。
- 返回值:
- 最大的文字长度
- 抛出:
SQLException
- 如果发生了数据访问错误。
getMaxCharLiteralLength
public abstract int getMaxCharLiteralLength() throws SQLException
- 获得一个二进制文字的最大长度。
- 返回值:
- 最大的文字长度
- 抛出:
SQLException
- 如果发生了数据访问错误。
getMaxColumnNameLength
public abstract int getMaxColumnNameLength() throws SQLException
- 获得对列名的长度的限制。
- 返回值:
- 最大的文字长度
- 抛出:
SQLException
- 如果发生了数据访问错误。
getMaxColumnsInGroupBy
public abstract int getMaxColumnsInGroupBy() throws SQLException
- 获得在一个 "GROUP BY" 子句中最大的列数。
- 返回值:
- 最大的列数
- 抛出:
SQLException
- 如果发生了数据访问错误。
getMaxColumnsInIndex
public abstract int getMaxColumnsInIndex() throws SQLException
- 获得一个索引中允许最大的列数。
- 返回值:
- 最大的列数
- 抛出:
SQLException
- 如果发生了数据访问错误。
getMaxColumnsInOrderBy
public abstract int getMaxColumnsInOrderBy() throws SQLException
- 获得在一个 "ORDER BY" 子句中最大的列数。
- 返回值:
- 最大的列数
- 抛出:
SQLException
- 如果发生了数据访问错误。
getMaxColumnsInSelect
public abstract int getMaxColumnsInSelect() throws SQLException
- 获得在一个 "SELECT" 列表中最大的列数。
- 返回值:
- 最大的列数
- 抛出:
SQLException
- 如果发生了数据访问错误。
getMaxColumnsInTable
public abstract int getMaxColumnsInTable() throws SQLException
- 获得一个表中最大的列数。
- 返回值:
- 最大的列数
- 抛出:
SQLException
- 如果发生了数据访问错误。
getMaxConnections
public abstract int getMaxConnections() throws SQLException
- 获得同时与该数据库连接的有效连接的最大数目。
- 返回值:
- 最大的连接数
- 抛出:
SQLException
- 如果发生了数据访问错误。
getMaxCursorNameLength
public abstract int getMaxCursorNameLength() throws SQLException
- 获得游标名的最大长度。
- 返回值:
- 游标名的最大字节长度
- 抛出:
SQLException
- 如果发生了数据访问错误。
getMaxIndexLength
public abstract int getMaxIndexLength() throws SQLException
- 获得一个索引的最大长度 ( 以字节计 )。
- 返回值:
- 索引的最大字节长度
- 抛出:
SQLException
- 如果发生了数据访问错误。
getMaxSchemaNameLength
public abstract int getMaxSchemaNameLength() throws SQLException
- 获得对一个模式名允许的最大长度。
- 返回值:
- 模式名的最大字节长度
- 抛出:
SQLException
- 如果发生了数据访问错误。
getMaxProcedureNameLength
public abstract int getMaxProcedureNameLength() throws SQLException
- 获得过程名的最大长度。
- 返回值:
- 过程名的最大字节长度
- 抛出:
SQLException
- 如果发生了数据访问错误。
getMaxCatalogNameLength
public abstract int getMaxCatalogNameLength() throws SQLException
- 获得分类表名的最大长度。
- 返回值:
- 分类表名的最大字节长度
- 抛出:
SQLException
- 如果发生了数据访问错误。
getMaxRowSize
public abstract int getMaxRowSize() throws SQLException
- 获得单个行的最大长度。
- 返回值:
- 行的最大字节数
- 抛出:
SQLException
- 如果发生了数据访问错误。
doesMaxRowSizeIncludeBlobs
public abstract boolean doesMaxRowSizeIncludeBlobs() throws SQLException
- getMaxRowSize() 是否包含 LONGVARCHAR 和 LONGVARBINARY 大对象?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
getMaxStatementLength
public abstract int getMaxStatementLength() throws SQLException
- 获得 SQL 语句的最大长度。
- 返回值:
- 最大字节长度
- 抛出:
SQLException
- 如果发生了数据访问错误。
getMaxStatements
public abstract int getMaxStatements() throws SQLException
- 获得同时对该数据库有效的语句的数目。
- 返回值:
- 最大数目
- 抛出:
SQLException
- 如果发生了数据访问错误。
getMaxTableNameLength
public abstract int getMaxTableNameLength() throws SQLException
- 获得表名的最大长度。
- 返回值:
- 表名的最大字节长度
- 抛出:
SQLException
- 如果发生了数据访问错误。
getMaxTablesInSelect
public abstract int getMaxTablesInSelect() throws SQLException
- 获得一个 SELECT 中表的最大数目。
- 返回值:
- 最大数目
- 抛出:
SQLException
- 如果发生了数据访问错误。
getMaxUserNameLength
public abstract int getMaxUserNameLength() throws SQLException
- 获得用户名的最大长度。
- 返回值:
- 用户名的最大字节长度
- 抛出:
SQLException
- 如果发生了数据访问错误。
getDefaultTransactionIsolation
public abstract int getDefaultTransactionIsolation() throws SQLException
- 获得数据库缺省的事务隔离级别。 数值定义在 java.sql.Connection 中。
- 返回值:
- 缺省的隔离级别
- 抛出:
SQLException
- 如果发生了数据访问错误。
- 参见:
- Connection
supportsTransactions
public abstract boolean supportsTransactions() throws SQLException
- 是否支持事务。如果不支持,则提交的是一个空操作,且隔离级别为
TRANSACTION_NONE。
- 返回值:
- 如果支持事务则为 true。
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsTransactionIsolationLevel
public abstract boolean supportsTransactionIsolationLevel(int level) throws SQLException
- 该数据库是否支持给定的事务隔离级别?
- 参数:
- level - 数值定义在 java.sql.Connection 中。
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
- 参见:
- Connection
supportsDataDefinitionAndDataManipulationTransactions
public abstract boolean supportsDataDefinitionAndDataManipulationTransactions()
throws SQLException
- 在一个事务中是否同时支持数据定义和数据操作语句?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
supportsDataManipulationTransactionsOnly
public abstract boolean supportsDataManipulationTransactionsOnly()
throws SQLException
- 在一个事务中是否只支持数据操作语句?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
dataDefinitionCausesTransactionCommit
public abstract boolean dataDefinitionCausesTransactionCommit() throws SQLException
- 一个事务中的数据定义语句是否强迫事务提交?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
dataDefinitionIgnoredInTransactions
public abstract boolean dataDefinitionIgnoredInTransactions() throws SQLException
- 一个事务中的数据定义语句是否被忽略?
- 返回值:
- 果真如此则为 true
- 抛出:
SQLException
- 如果发生了数据访问错误。
getProcedures
public abstract ResultSet getProcedures(String catalog,
String schemaPattern,
String procedureNamePattern)
throws SQLException
- 获得关于可用于一个分类表中的存储过程的说明。
只返回与模式和过程名匹配标准相匹配的过程说明。它们以 PROCEDURE_SCHEM 和 PROCEDURE_NAME 的顺序排序。
每个过程说明具有以下的列:
- PROCEDURE_CAT String => 过程分类表 ( 可以为 null)
- PROCEDURE_SCHEM String => 过程模式( 可以为 null)
- PROCEDURE_NAME String => 过程名
- 保留作将来使用
- 保留作将来使用
- 保留作将来使用
- REMARKS String => 关于过程的解释性注释
- PROCEDURE_TYPE short => 过程的种类:
- procedureResultUnknown - 可能返回一个结果
- procedureNoResult - 不返回结果
- procedureReturnsResult - 返回结果
- 参数:
- catalog - 一个分类表名;"" 检索没有分类表的存储过程说明;
null 意味着从选择标准中删除分类表名
- schemaPattern - 模式名模本;"" 检索没有模式的存储过程说明
- procedureNamePattern - 过程名模本
- 返回值:
- ResultSet - 每一行是一个过程说明
- 抛出:
SQLException
- 如果发生了数据访问错误。
- 参见:
- getSearchStringEscape
getProcedureColumns
public abstract ResultSet getProcedureColumns(String catalog,
String schemaPattern,
String procedureNamePattern,
String columnNamePattern)
throws SQLException
- 获得关于一个分类表的存储过程参数和结果列的说明。
只返回与模式和过程名和参数名匹配标准相匹配的说明。它们以
PROCEDURE_SCHEM 和 PROCEDURE_NAME 的顺序排列。 在这其中,如果有返回值那么它是第一位的。下面是调用顺序中的参数说明。列说明的顺序与列号相同。
ResultSet 中的每一行是一个参数说明或列列说明,它具有以下的域:
- PROCEDURE_CAT String => 过程分类表 ( 可以为 null)
- PROCEDURE_SCHEM String => 过程模式( 可以为 null)
- PROCEDURE_NAME String => 过程名
- COLUMN_NAME String => 列 / 参数名
- COLUMN_TYPE Short => 列 / 参数的种类:
- procedureColumnUnknown - 未知值
- procedureColumnIn - IN 参数
- procedureColumnInOut - INOUT 参数
- procedureColumnOut - OUT 参数
- procedureColumnReturn - 过程返回值
- procedureColumnResult - ResultSet 中的结果列
- DATA_TYPE short => java.sql.Types 中的 SQL 类型
- TYPE_NAME String => SQL 类型名
- PRECISION int => 精度
- LENGTH int => 数据的字节长度
- SCALE short => 小数位数
- RADIX short => 基数
- NULLABLE short => 它是否可以包含 NULL?
- procedureNoNulls - 不允许 NULL 值
- procedureNullable - 允许 NULL 值
- procedureNullableUnknown - 不知是否允许 NULL。
- REMARKS String => 说明参数 / 列的注释
注意: 有些数据库不为过程返回列的说明。未在 REMARKS 中的附加列可以由该数据库定义。
- 参数:
- catalog - 一个分类表名;"" 检索没有分类表的存储过程说明;
null 意味着从选择标准中删除分类表名
- schemaPattern - 模式名模本;"" 检索没有模式的存储过程说明
- procedureNamePattern - 过程名模本
- columnNamePattern - 一个列名模本
- 返回值:
- ResultSet - 每一行是一个存储过程参数或列的说明
- 抛出:
SQLException
- 如果发生了数据访问错误。
- 参见:
- getSearchStringEscape
getTables
public abstract ResultSet getTables(String catalog,
String schemaPattern,
String tableNamePattern,
String types[]) throws SQLException
- 获得可用于一个分类表中的表的说明。
只返回与分类表、模式、表的名称和类型的匹配标准相匹配的表说明。它们以
TABLE_TYPE、TABLE_SCHEM 和 TABLE_NAME 顺序排列。
每个表说明具有以下的列:
- TABLE_CAT String => 表分类表 ( 可以为 null)
- TABLE_SCHEM String => 表模式( 可以为 null)
- TABLE_NAME String => 表名
- TABLE_TYPE String => 类型的类型。典型的类型是"TABLE",
"VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY",
"ALIAS", "SYNONYM"。
- REMARKS String => 关于表的解释性注释
注意: 有些数据库不为所有的表返回信息。
- 参数:
- catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
- schemaPattern - 模式名模本;"" 检索那些没有模式的
- tableNamePattern - 一个表名模本
- types - 一个要包括的表类型列表;如果为 null 则返回所有的类型
- 返回值:
- ResultSet - 每一行是一个列说明
- 抛出:
SQLException
- 如果发生了数据访问错误。
- 参见:
- getSearchStringEscape
getSchemas
public abstract ResultSet getSchemas() throws SQLException
- 获得可用于该数据库中的模式名。结果按模式名排序。
模式列是:
- TABLE_SCHEM String => 模式名
- 返回值:
- ResultSet - 每一行有单个的 String 列,它是一个模式名。
- 抛出:
SQLException
- 如果发生了数据访问错误。
getCatalogs
public abstract ResultSet getCatalogs() throws SQLException
- 获得可用于该数据库中的分类表名。结果按分类表名排序。
分类表列是:
- TABLE_CAT String => 分类表名
- 返回值:
- ResultSet - 每一行有单个的 String 列,它是一个分类表名。
- 抛出:
SQLException
- 如果发生了数据访问错误。
getTableTypes
public abstract ResultSet getTableTypes() throws SQLException
- 获得可用于该数据库中的表的类型。 结果按表的类型排序。
表的类型是:
- TABLE_TYPE String => 表的类型。典型的类型是"TABLE",
"VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY",
"ALIAS", "SYNONYM"。
- 返回值:
- ResultSet - 每一行有单个的 String 列,它是一个表类型。
- 抛出:
SQLException
- 如果发生了数据访问错误。
getColumns
public abstract ResultSet getColumns(String catalog,
String schemaPattern,
String tableNamePattern,
String columnNamePattern) throws SQLException
- 获得可用于一个分类表中的对表列的说明。
只返回与分类表、模式、表和列名匹配标准相匹配的列的说明。 它们以 TABLE_SCHEM
、TABLE_NAME 和 ORDINAL_POSITION 排列。
每个列说明具有以下的列:
- TABLE_CAT String => 表分类表 ( 可以为 null)
- TABLE_SCHEM String => 表模式( 可以为 null)
- TABLE_NAME String => 表名
- COLUMN_NAME String => 列名
- DATA_TYPE short => java.sql.Types 中的 SQL 类型
- TYPE_NAME String => 数据源从属类型名
- COLUMN_SIZE int => 列的大小。对于字符或日期类型,它是最大字符数,对于数值或小数类型它是精度。
- BUFFER_LENGTH 未使用。
- DECIMAL_DIGITS int => 小数的位数
- NUM_PREC_RADIX int => 基数 ( 典型的是 10 或 2)
- NULLABLE int => 是否允许 NULL 值?
- columnNoNulls - 可能不允许 NULL 值
- columnNullable - 明确的允许 NULL 值
- columnNullableUnknown - 不知是否允许 NULL 值
- REMARKS String => 描述列的注释 ( 可能为 null)
- COLUMN_DEF String => 缺省值 ( 可能为 null)
- SQL_DATA_TYPE int => 未使用
- SQL_DATETIME_SUB int => 未使用
- CHAR_OCTET_LENGTH int => 对于字符类型,它是列中的最大字符数
- ORDINAL_POSITION int => 表中的列索引 ( 从 1 开始 )
- IS_NULLABLE String => "NO" 意味着列确实不允许 NULL 值;
"YES" 意味列可能允许 NULL 值。一个空字符串意味着是否允许 NULL 值未知。
- 参数:
- catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
- schemaPattern - 模式名模本;"" 检索那些没有模式的
- tableNamePattern - 一个表名模本
- columnNamePattern - 一个列名模本
- 返回值:
- ResultSet - 每一行是一个列说明
- 抛出:
SQLException
- 如果发生了数据访问错误。
- 参见:
- getSearchStringEscape
getColumnPrivileges
public abstract ResultSet getColumnPrivileges(String catalog,
String schema,
String table,
String columnNamePattern)
throws SQLException
- 获得对表的某一列的访问权的说明。
只返回与列名匹配标准相匹配的特权。它们以 COLUMN_NAME 和 PRIVILEGE 顺序排列。
每个特权说明具有以下的列:
- TABLE_CAT String => 表分类表 ( 可以为 null)
- TABLE_SCHEM String => 表模式( 可以为 null)
- TABLE_NAME String => 表名
- COLUMN_NAME String => 列名
- GRANTOR => 访问权的授予者 ( 可能为 null)
- GRANTEE String => 访问权的接受者
- PRIVILEGE String => 访问权的名称 (SELECT,
INSERT, UPDATE, REFRENCES, ...)
- IS_GRANTABLE String => 如果允许接受者把特权赋给他人则为
"YES";如果不允许则为 "NO";如果不知道则为 null。
- 参数:
- catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
- schema - 模式名模本;"" 检索没有那些模式的
- table - 一个表名
- columnNamePattern - 一个列名模本
- 返回值:
- ResultSet - 每一行是一个特权说明
- 抛出:
SQLException
- 如果发生了数据访问错误。
- 参见:
- getSearchStringEscape
getTablePrivileges
public abstract ResultSet getTablePrivileges(String catalog,
String schemaPattern,
String tableNamePattern) throws SQLException
- 获得对可用于分类表中的表的访问权的说明。 注意表的特权可以应用到表的一个或多个列上。假设该特权可以应用到所有的列上是错误的 ( 这在某些系统中可能是正确的,但并不是在所有的系统中都正确。)
只返回与模式和表名匹配标准相匹配的特权。它们按 TABLE_SCHEM、TABLE_NAME
和 PRIVILEGE 顺序排列。
每个特权说明具有以下的列:
- TABLE_CAT String => 表分类表 ( 可以为 null)
- TABLE_SCHEM String => 表的模式 ( 可以为 null)
- TABLE_NAME String => 表名
- GRANTOR => 访问权的授予者 ( 可能为 null)
- GRANTEE String => 访问权的接受者
- PRIVILEGE String =>访问权的名称 (SELECT,
INSERT, UPDATE, REFRENCES, ...)
- IS_GRANTABLE String => 如果允许接受者把特权赋给他人则为
"YES";如果不允许则为 "NO";如果不知道则为 null。
- 参数:
- catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
- schemaPattern - 模式名模本;"" 检索那些没有模式的
- tableNamePattern - 一个表名模本
- 返回值:
- ResultSet - 每一行是一个表特权说明
- 抛出:
SQLException
- 如果发生了数据访问错误。
- 参见:
- getSearchStringEscape
getBestRowIdentifier
public abstract ResultSet getBestRowIdentifier(String catalog,
String schema,
String table,
int scope,
boolean nullable) throws SQLException
- 获得一个表中能唯一标识一行的最优的列的集合的说明。它们按 SCOPE 排序。
每个列说明具有以下的列:
- SCOPE short => 结果实际的作用域
- bestRowTemporary - 当使用行时是暂时的
- bestRowTransaction - 对于当前事务的剩余行是有效的
- bestRowSession - 对于当前会话的剩余行有效。
- COLUMN_NAME String => 列名
- DATA_TYPE short => java.sql.Types 中的 SQL 数据类型
- TYPE_NAME String => 数据源从属类型名
- COLUMN_SIZE int => 精度
- BUFFER_LENGTH int => 未使用
- DECIMAL_DIGITS short => 小数位数
- PSEUDO_COLUMN short => 是否是一个象 Oracle ROWID 的伪列
- bestRowUnknown - 可能是或不是伪列。
- bestRowNotPseudo - 不是一个伪列。
- bestRowPseudo - 是一个伪列。
- 参数:
- catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
- schema - 模式名模本;"" 检索没有那些模式的
- table - 一个表名
- scope - 内部的作用域;使用同样的值 SCOPE
- nullable - 包括可以为 null 的列
- 返回值:
- ResultSet - 每一行是一个列说明
- 抛出:
SQLException
- 如果发生了数据访问错误。
getVersionColumns
public abstract ResultSet getVersionColumns(String catalog,
String schema,
String table) throws SQLException
- 获得关于表的列的说明,当修改一行中任何数值时该列被自动修改。
它们是未排序的。
每个列说明具有以下的列:
- SCOPE short => 未使用
- COLUMN_NAME String => 列名
- DATA_TYPE short => java.sql.Types 中的 SQL 数据类型
- TYPE_NAME String => 数据源从属类型名
- COLUMN_SIZE int => 精度
- BUFFER_LENGTH int => 列值的字符长度
- DECIMAL_DIGITS short => 小数位数
- PSEUDO_COLUMN short => 是否是一个象 Oracle ROWID 的伪列
- versionColumnUnknown - 可能是或不是伪列。
- versionColumnNotPseudo - 不是一个伪列
- versionColumnPseudo - 是一个伪列
- 参数:
- catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
- schema - 模式名模本;"" 检索没有那些模式的
- table - 一个表名
- 返回值:
- ResultSet - 每一行是一个列说明
- 抛出:
SQLException
- 如果发生了数据访问错误。
getPrimaryKeys
public abstract ResultSet getPrimaryKeys(String catalog,
String schema,
String table) throws SQLException
- 获得关于一个表主关键字列的说明。 它们按 COLUMN_NAME 排序。
每个关键字列说明具有以下的列:
- TABLE_CAT String => 表分类表 ( 可以为 null)
- TABLE_SCHEM String => 表的模式 ( 可以为 null)
- TABLE_NAME String => 表名
- COLUMN_NAME String => 列名
- KEY_SEQ short => 主关键字的序列号
- PK_NAME String => 主关键字名 ( 可以为 null)
- 参数:
- catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
- schema - 模式名模本;"" 检索没有那些模式的
- table - 一个表名
- 返回值:
- ResultSet - 每一行是一个关键字列说明
- 抛出:
SQLException
- 如果发生了数据访问错误。
getImportedKeys
public abstract ResultSet getImportedKeys(String catalog,
String schema,
String table) throws SQLException
- 获得一个主关键字表列的说明,该主关键字列被一个表的外部关键字列引用 ( 该主关键字由一个表导入 )。 它们按 PKTABLE_CAT、
PKTABLE_SCHEM、PKTABLE_NAME 和 KEY_SEQ 的顺序排列。
每个关键字列说明具有以下的列:
- PKTABLE_CAT String => 被导入的主关键字表的分类表 ( 可以为 null)
- PKTABLE_SCHEM String => 被导入的主关键字表的模式 ( 可以为 null)
- PKTABLE_NAME String => 被导入的主关键字表名
- PKCOLUMN_NAME String => 被导入的主关键字列名
- FKTABLE_CAT String => 外部关键字分类表 ( 可以为 null)
- FKTABLE_SCHEM String => 外部关键字模式 ( 可以为 null)
- FKTABLE_NAME String => 外部关键字表名
- FKCOLUMN_NAME String => 外部关键字列名
- KEY_SEQ short => 外部关键字的序列号
- UPDATE_RULE short => 当更新主关键字时外部关键字将会:
- importedNoAction - 如果已经导入主关键字,则不允许更新它。
- importedKeyCascade - 改变导入的关键字,与主关键字的更新保持一致。
- importedKeySetNull - 如果已经更新了主关键字,则把导入的关键字改为 NULL。
- importedKeySetDefault - 如果已经更新了主关键字,则把导入的关键字改为缺省值。
- importedKeyRestrict - 与 importedKeyNoAction 相同
( 为了与 ODBC 2.x 兼容 )
- DELETE_RULE short => 当删除主关键字时外部关键字将会:
- importedKeyNoAction - 如果已经导入主关键字,则不允许删除它。
- importedKeyCascade - 删除导入已删除关键字的行
- importedKeySetNull - 如果已经删除了主关键字,则把导入的关键字改为 NULL。
- importedKeyRestrict - 与 importedKeyNoAction 相同
( 为了与 ODBC 2.x 兼容 )
- importedKeySetDefault - 如果已经删除了主关键字,则把导入的关键字改为缺省值。
- FK_NAME String => 外部关键字名 ( 可以为 null)
- PK_NAME String => 主关键字名 ( 可以为 null)
- DEFERRABILITY short => 外部关键字的约束值是否能延续到提交
- importedKeyInitiallyDeferred - 定义请参见 SQL92。
- importedKeyInitiallyImmediate - 定义请参见 SQL92。
- importedKeyNotDeferrable - 定义请参见 SQL92。
- 参数:
- catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
- schema - 模式名模本;"" 检索没有那些模式的
- table - 一个表名
- 返回值:
- ResultSet - 每一行是一个主关键字列说明
- 抛出:
SQLException
- 如果发生了数据访问错误。
- 参见:
- getExportedKeys
getExportedKeys
public abstract ResultSet getExportedKeys(String catalog,
String schema,
String table) throws SQLException
- 获得一个外部关键字表列的说明,该外部关键字列引用一个表的主关键字列 ( 外部关键字由一个表导出 )。 它们以 FKTABLE_CAT、FKTABLE_SCHEM、FKTABLE_NAME 和 KEY_SEQ 排序。
每个外部关键字列说明具有以下的列:
- PKTABLE_CAT String => 主关键字表分类表 ( 可以为 null)
- PKTABLE_SCHEM String => 主关键字表模式 ( 可以为 null)
- PKTABLE_NAME String => 主关键字表名
- PKCOLUMN_NAME String => 主关键字列名
- FKTABLE_CAT String => 外部关键字表分类表 ( 可以为 null)
- FKTABLE_SCHEM String => 被导入的外部关键字表分类表 ( 可以为 null)
- FKTABLE_NAME String => 被导入的外部关键字表名
- FKCOLUMN_NAME String => 被导入的外部关键字列名
- KEY_SEQ short => 外部关键字的序列号
- UPDATE_RULE short => 当更新主关键字时外部关键字将会:
- importedNoAction - 如果已经导入主关键字,则不允许更新它。
- importedKeyCascade - 改变导入的关键字,与主关键字的更新保持一致。
- importedKeySetNull - 如果已经更新了主关键字,则把导入的关键字改为 NULL。
- importedKeySetDefault - 如果已经更新了主关键字,则把导入的关键字改为缺省值。
- importedKeyRestrict - 与 importedKeyNoAction 相同
( 为了与 ODBC 2.x 兼容 )
- DELETE_RULE short => 当删除主关键字时外部关键字将会:
- importedKeyNoAction - 如果已经导入主关键字,则不允许删除它。
- importedKeyCascade - 删除导入已删除关键字的行
- importedKeySetNull - 如果已经删除了主关键字,则把导入的关键字改为 NULL。
- importedKeyRestrict - 与 importedKeyNoAction 相同
( 为了与 ODBC 2.x 兼容 )
- importedKeySetDefault - 如果已经删除了主关键字,则把导入的关键字改为缺省值。
- FK_NAME String => 外部关键字名 ( 可以为 null)
- PK_NAME String => 主关键字名 ( 可以为 null)
- DEFERRABILITY short => 外部关键字的约束值是否能延续到提交
- importedKeyInitiallyDeferred - 定义请参见 SQL92。
- importedKeyInitiallyImmediate - 定义请参见 SQL92。
- importedKeyNotDeferrable - 定义请参见 SQL92。
- 参数:
- catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
- schema - 模式名模本;"" 检索没有那些模式的
- table - 一个表名
- 返回值:
- ResultSet - 每一行是一个外部关键字列说明
- 抛出:
SQLException
- 如果发生了数据访问错误。
- 参见:
- getImportedKeys
getCrossReference
public abstract ResultSet getCrossReference(String primaryCatalog,
String primarySchema,
String primaryTable,
String foreignCatalog,
String foreignSchema,
String foreignTable) throws SQLException
- 获得外部关键字表中外部关键字列的说明,它引用主关键字表中的主关键字列 ( 说明了一个表如何导入另一个表的关键字 )。通常它应该返回一个外部关键字 / 主关键字对 ( 大部分表每次只从一个表中导入一个关键字 )。它们以 FKTABLE_CAT、FKTABLE_SCHEM、FKTABLE_NAME 和 KEY_SEQ 排序。
每个外部关键字列说明具有以下的列:
- PKTABLE_CAT String => 主关键字表分类表 ( 可以为 null)
- PKTABLE_SCHEM String => 主关键字表模式 ( 可以为 null)
- PKTABLE_NAME String => 主关键字表名
- PKCOLUMN_NAME String => 主关键字列名
- FKTABLE_CAT String => 外部关键字表分类表 ( 可以为 null)
- FKTABLE_SCHEM String => 被导入的外部关键字表模式 ( 可以为 null)
- FKTABLE_NAME String => 被导入的外部关键字表名
- FKCOLUMN_NAME String => 被导入的外部关键字列名
- KEY_SEQ short => 外部关键字的序列号
- UPDATE_RULE short => 当更新主关键字时外部关键字将会:
- importedNoAction - 如果已经导入主关键字,则不允许更新它。
- importedKeyCascade - 改变导入的关键字,与主关键字的更新保持一致。
- importedKeySetNull - 如果已经更新了主关键字,则把导入的关键字改为 NULL。
- importedKeySetDefault - 如果已经更新了主关键字,则把导入的关键字改为缺省值。
- importedKeyRestrict - 与 importedKeyNoAction 相同
( 为了与 ODBC 2.x 兼容 )
- DELETE_RULE short => 当删除主关键字时外部关键字将会:
- importedKeyNoAction - 如果主关键字已经被导入,则不允许删除它。
- importedKeyCascade - 删除导入已删除关键字的行
- importedKeySetNull - 如果已经删除了主关键字,则把导入的关键字改为 NULL。
- importedKeyRestrict - 与 importedKeyNoAction 相同
( 为了与 ODBC 2.x 兼容 )
- importedKeySetDefault - 如果已经删除了主关键字,则把导入的关键字改为缺省值。
- FK_NAME String => 外部关键字名 ( 可以为 null)
- PK_NAME String => 主关键字名 ( 可以为 null)
- DEFERRABILITY short => 外部关键字的约束值是否能够延续到提交
- importedKeyInitiallyDeferred - 定义请参见 SQL92。
- importedKeyInitiallyImmediate - 定义请参见 SQL92。
- importedKeyNotDeferrable - 定义请参见 SQL92。
- 参数:
- primaryCatalog - 一个分类表名;"" 检索那些没有分类表的;
null 意味着从选择标准中删除分类表名。
- primatySchema - 模式名模本;"" 检索没有那些模式的
- primaryTable - 导入该关键字的表名
- foreignCatalog - 一个分类表名;"" 检索那些没有分类表的;
null 意味着从选择标准中删除分类表名。
- foreignSchema - 模式名模本;"" 检索没有那些模式的
- foreignTable - 导入该关键字的表名
- 返回值:
- ResultSet - 每一行是一个外部关键字列说明
- 抛出:
SQLException
- 如果发生了数据访问错误。
- 参见:
- getImportedKeys
getTypeInfo
public abstract ResultSet getTypeInfo() throws SQLException
- 获得该数据库支持的所有标准 SQL 类型说明。 它们先按 DATA_TYPE
排序,然后按该数据类型与相应的 JDBC SQL 类型映射的紧密程度排序。
每个类型说明具有以下的列:
- TYPE_NAME String => 类型名
- DATA_TYPE short => java.sql.Types 中的 SQL 数据类型
- PRECISION int => 最大精度
- LITERAL_PREFIX String => 用于引用一段文字的前缀 ( 可以为 null)
- LITERAL_SUFFIX String => 用于引用一段文字的后缀 ( 可以为 null)
- CREATE_PARAMS String => 用于创建类型的参数 ( 可以为 null)
- NULLABLE short => 该类型是否可以用 NULL?
- typeNoNulls - 不允许 NULL 值
- typeNullable - 允许 NULL 值
- typeNullableUnknown - 不知是否允许 NULL 值
- CASE_SENSITIVE boolean=> 是否区分大小写?
- SEARCHABLE short => 可基于以下类型使用 "WHERE":
- typePredNone - 没有支持
- typePredChar - 只支持 WHERE .. LIKE
- typePredBasic - 除了 WHERE .. LIKE 以外都支持
- typeSearchable - 支持所有的 WHERE ..
- UNSIGNED_ATTRIBUTE boolean => 是否是无符号的?
- FIXED_PREC_SCALE boolean => 它是否可以是货币值?
- AUTO_INCREMENT boolean => 它是否可以用于自增的数值?
- LOCAL_TYPE_NAME String => 类型名的本地化版本( 可以为 null)
- MINIMUM_SCALE short => 支持最小的小数位数
- MAXIMUM_SCALE short => 支持最大的小数位数
ted
- SQL_DATA_TYPE int => 未使用
- SQL_DATETIME_SUB int => 未使用
- NUM_PREC_RADIX int => 通常是 2 或 10
- 返回值:
- ResultSet - 每一行是一个 SQL 类型说明
- 抛出:
SQLException
- 如果发生了数据访问错误。
getIndexInfo
public abstract ResultSet getIndexInfo(String catalog,
String schema,
String table,
boolean unique,
boolean approximate) throws SQLException
- 获得一个关于表的索引和统计信息。 它们按 NON_UNIQUE、TYPE、
INDEX_NAME 和 ORDINAL_POSITION 顺序排列。
每个索引列说明具有以下的列:
- TABLE_CAT String => 表分类表 ( 可以为 null)
- TABLE_SCHEM String => 表的模式 ( 可以为 null)
- TABLE_NAME String => 表名
- NON_UNIQUE boolean => 索引值是否可以不是唯一的?
当 TYPE 是 tableIndexStatistic 时为 false
- INDEX_QUALIFIER String => 索引分类表 ( 可以为 null);当
TYPE 是 tableIndexStatistic 时为 null。
- INDEX_NAME String => 索引名;当 TYPE 是
tableIndexStatistic 时为 null
- TYPE short => 索引类型:
- tableIndexStatistic - 它标识了表的统计信息,该信息是与表的索引说明一起返回的
- tableIndexClustered - 这是索引簇
- tableIndexHashed - 这是散列索引
- tableIndexOther - 这是其它类型的索引
- ORDINAL_POSITION short => 索引中列的序列号;当 TYPE 是
tableIndexStatistic 时为零
- COLUMN_NAME String => 列名;当 TYPE 是
tableIndexStatistic 时为 null
- ASC_OR_DESC String => 列的排序顺序,"A" => 升序,
"D" => 降序,如果不支持排序顺序可能为 null;当 TYPE 是
tableIndexStatistic 时为 null
- CARDINALITY int => 当 TYPE 是 tableIndexStatistic 时,它是表中的行数;否则它是索引中独特的数值是数目。
- PAGES int => 当 TYPE 是 tableIndexStatisic 时,这是用于表的页数,否则它是用于当前索引的页数。
- FILTER_CONDITION String => 如果存在,它是过滤器过条件。(
可以为 null)
- 参数:
- catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
- schema - 模式名模本;"" 检索没有那些模式的
- table - 一个表名
- unique - 当为 true 时,只返回独特数值的索引;当为
false,不管数值是否是独特的,返回其索引。
- approximate - 当为 true 时,允许结果表示大概的或溢出的数据值;当为 false 时要求结果必须是正确的
- 返回值:
- ResultSet - 每一行是一个索引列说明
- 抛出:
SQLException
- 如果发生了数据访问错误。