-
- All Superinterfaces:
-
Wrapper
public interface DatabaseMetaData extends Wrapper
关于整个数据库的综合信息。此接口由驱动程序供应商实现,以便用户根据与其一起使用的JDBC技术(“JDBC驱动程序”)结合驱动程序知道数据库管理系统(DBMS)的功能。 不同的关系DBMS通常支持不同的功能,以不同的方式实现功能,并使用不同的数据类型。 此外,驱动程序可以在DBMS提供的功能之上实现一个功能。 此界面中方法返回的信息适用于特定驱动程序和特定DBMS协同工作的功能。 请注意,如本文档所使用的,术语“数据库”通常用于指代驱动程序和DBMS。
此接口的用户通常是需要发现如何处理基础DBMS的工具。 对于旨在与多个DBMS一起使用的应用程序尤其如此。 例如,一个工具可能会使用方法
getTypeInfo
来查找可以在CREATE TABLE
语句中使用哪些数据类型。 或者用户可能会调用方法supportsCorrelatedSubqueries
查看是否可以使用相关的子查询或supportsBatchUpdates
查看是否可以使用批量更新。一些
DatabaseMetaData
方法以ResultSet
对象的形式返回信息列表。 常规的ResultSet
方法,如getString
和getInt
,可用于从这些ResultSet
对象中检索数据。 如果一个给定的元数据形式不可用,将返回一个空的ResultSet
。 由给定方法的ResultSet
对象定义的列之外的其他列可以由JDBC驱动程序供应商定义,并且必须由其列标签访问。一些
DatabaseMetaData
方法使用String模式的参数。 这些参数都有名称,如fooPattern。 在模式字符串中,“%”表示匹配0个或更多字符的任何子字符串,“_”表示匹配任何一个字符。 只返回与搜索模式匹配的元数据条目。 如果搜索模式参数设置为null
,则该参数的标准将从搜索中删除。- 从以下版本开始:
- 1.1
-
-
Field Summary
Fields Modifier and Type Field 描述 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
表示最佳行标识符可能是伪列,也可能不是伪列。static int
columnNoNulls
表示该列可能不允许NULL
值。static int
columnNullable
表示该列绝对允许NULL
值。static int
columnNullableUnknown
表示列的无效性是未知的。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_RULE
和DELETE_RULE
,表示如果主键已导入,则不能更新或删除。static int
importedKeyNotDeferrable
表示延迟。static int
importedKeyRestrict
对于列UPDATE_RULE
,指示如果主键已被另一个表作为外键导入,则可能不更新主键。static int
importedKeySetDefault
对于列UPDATE_RULE
和DELETE_RULE
,表示如果主键被更新或删除,则外键(导入的键)被设置为默认值。static int
importedKeySetNull
对于列UPDATE_RULE
和DELETE_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
返回的值是否为SQLSTATE值的方法SQLException.getSQLState
的可能返回值。static int
sqlStateSQL99
该方法一个可能的返回值DatabaseMetaData.getSQLStateType
这是用来指示由方法返回的值是否SQLException.getSQLState
是一个SQL99 SQLSTATE值。static int
sqlStateXOpen
该方法一个可能的返回值DatabaseMetaData.getSQLStateType
这是用来指示由方法返回的值是否SQLException.getSQLState
是X /打开(现在知道的公开组)SQL CLI SQLSTATE值。static short
tableIndexClustered
表示此表索引是聚簇索引。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
表示数据类型只能在WHERE
使用LIKE
谓词的搜索条款中使用。static int
typePredNone
表示此类型不支持WHERE
搜索子句。static int
typeSearchable
表示所有WHERE
搜索子句都可以基于此类型。static int
versionColumnNotPseudo
表示此版本列不是伪列。static int
versionColumnPseudo
表示此版本列是伪列。static int
versionColumnUnknown
表示此版本列可能是也可能不是伪列。
-
方法摘要
所有方法 接口方法 抽象方法 Default Methods Modifier and Type 方法 描述 boolean
allProceduresAreCallable()
检索当前用户是否可以调用方法返回的所有过程getProcedures
。boolean
allTablesAreSelectable()
检索当前用户是否可以使用SELECT
语句中方法getTables
返回的所有表。boolean
autoCommitFailureClosesAllResultSets()
检索autoCommit中是否为SQLException
是否为true
表示所有打开的ResultSet都被关闭,即使是可保留的。boolean
dataDefinitionCausesTransactionCommit()
检索事务中的数据定义语句是否强制事务提交。boolean
dataDefinitionIgnoredInTransactions()
检索此数据库是否忽略事务中的数据定义语句。boolean
deletesAreDetected(int type)
检索是否可以通过调用方法ResultSet.rowDeleted
检测到可见行删除。boolean
doesMaxRowSizeIncludeBlobs()
检索方法getMaxRowSize
的返回值是否包含SQL数据类型LONGVARCHAR
和LONGVARBINARY
。boolean
generatedKeyAlwaysReturned()
检索如果为自动生成的密钥列指定的列名称或索引有效并且语句成功,将始终返回生成的密钥。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()
检索“目录”的数据库供应商的首选项。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()
以String
检索此JDBC驱动程序的版本号。ResultSet
getExportedKeys(String catalog, String schema, String table)
检索引用给定表的主键列(由表导出的外键)的外键列的描述。String
getExtraNameCharacters()
检索可用于未引号的标识符名称(超出az,AZ,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()
检索数据库允许索引的最大字节数,包括索引的所有部分。default long
getMaxLogicalLobSize()
检索此数据库允许LOB
逻辑大小的最大字节数。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)
200的X- 200 200 X- 200 200 X- 200 200:String
getProcedureTerm()
检索“程序”的数据库供应商的首选项。ResultSet
getPseudoColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern)
检索指定目录和模式中给定表中可用的伪列或隐藏列的描述。int
getResultSetHoldability()
检索此数据库对于ResultSet
对象的默认保持ResultSet
。RowIdLifetime
getRowIdLifetime()
指示此数据源是否支持SQLROWID
类型,以及RowId
对象保持有效的生命周期。ResultSet
getSchemas()
检索此数据库中可用的模式名称。ResultSet
getSchemas(String catalog, String schemaPattern)
检索此数据库中可用的模式名称。String
getSchemaTerm()
检索“模式”的数据库供应商的首选项。String
getSearchStringEscape()
检索可用于转义通配符的字符串。String
getSQLKeywords()
检索所有这些数据库的SQL关键字的逗号分隔列表,这些关键字也不是SQL:2003关键字。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()
检索此数据库是否支持带有添加列的ALTER TABLE
。boolean
supportsAlterTableWithDropColumn()
检索此数据库是否支持带有删除列的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标量函数CONVERT
用于将一种JDBC类型转换为另一种JDBC类型。boolean
supportsConvert(int fromType, int toType)
检索此数据库是否支持JDBC标量函数CONVERT
用于JDBC类型 fromType和 toType之间的转换。boolean
supportsCoreSQLGrammar()
检索此数据库是否支持ODBC Core SQL语法。boolean
supportsCorrelatedSubqueries()
检索此数据库是否支持相关的子查询。boolean
supportsDataDefinitionAndDataManipulationTransactions()
检索此数据库是否支持事务中的数据定义和数据操作语句。boolean
supportsDataManipulationTransactionsOnly()
检索此数据库是否仅支持事务中的数据操作语句。boolean
supportsDifferentTableCorrelationNames()
检索是否支持表相关名称,它们被限制为与表的名称不同。boolean
supportsExpressionsInOrderBy()
检索此数据库是否支持ORDER BY
列表中的表达式。boolean
supportsExtendedSQLGrammar()
检索此数据库是否支持ODBC扩展SQL语法。boolean
supportsFullOuterJoins()
检索此数据库是否支持完全嵌套的外连接。boolean
supportsGetGeneratedKeys()
检索在执行语句后是否可以检索自动生成的键boolean
supportsGroupBy()
检索此数据库是否支持某种形式的GROUP BY
子句。boolean
supportsGroupByBeyondSelect()
获取此数据库是否支持使用不包含在列SELECT
在一份声明中GROUP BY
条款规定,所有在列SELECT
声明都包含在在GROUP BY
条款。boolean
supportsGroupByUnrelated()
检索此数据库是否支持在GROUP BY
子句中使用GROUP BY
SELECT
语句中的GROUP BY
。boolean
supportsIntegrityEnhancementFacility()
检索此数据库是否支持SQL完整性增强工具。boolean
supportsLikeEscapeClause()
检索此数据库是否支持指定一个LIKE
转义子句。boolean
supportsLimitedOuterJoins()
检索此数据库是否为外连接提供有限的支持。boolean
supportsMinimumSQLGrammar()
检索此数据库是否支持ODBC最低SQL语法。boolean
supportsMixedCaseIdentifiers()
检索此数据库是否将混合大小写不引用的SQL标识符视为区分大小写,并将结果存储在混合大小写中。boolean
supportsMixedCaseQuotedIdentifiers()
检索此数据库是否将混合大小写的SQL标识符视为区分大小写,并将结果存储在混合大小写中。boolean
supportsMultipleOpenResults()
检索是否有可能具有多个ResultSet
从返回的对象CallableStatement
对象同时进行。boolean
supportsMultipleResultSets()
检索该数据库是否支持从方法execute
的单一调用中获取多个ResultSet
对象。boolean
supportsMultipleTransactions()
检索此数据库是否允许同时打开多个事务(在不同的连接上)。boolean
supportsNamedParameters()
检索此数据库是否支持可调用语句的命名参数。boolean
supportsNonNullableColumns()
检索此数据库中的列是否可以被定义为不可为空。boolean
supportsOpenCursorsAcrossCommit()
检索此数据库是否支持保持游标在提交之间打开。boolean
supportsOpenCursorsAcrossRollback()
检索此数据库是否支持在回滚之间保持光标打开。boolean
supportsOpenStatementsAcrossCommit()
检索此数据库是否支持在提交之间保留语句。boolean
supportsOpenStatementsAcrossRollback()
检索此数据库是否支持在回滚期间保持语句打开。boolean
supportsOrderByUnrelated()
检索此数据库是否支持在ORDER BY
子句中使用ORDER BY
SELECT
语句中的ORDER BY
。boolean
supportsOuterJoins()
检索此数据库是否支持某种形式的外连接。boolean
supportsPositionedDelete()
检索此数据库是否支持定位DELETE
语句。boolean
supportsPositionedUpdate()
检索此数据库是否支持定位UPDATE
语句。default boolean
supportsRefCursors()
检索此数据库是否支持REF CURSOR。boolean
supportsResultSetConcurrency(int type, int concurrency)
检索此数据库是否支持给定的并发类型与给定的结果集类型的组合。boolean
supportsResultSetHoldability(int holdability)
检索此数据库是否支持给定的结果集保持性。boolean
supportsResultSetType(int type)
检索此数据库是否支持给定的结果集类型。boolean
supportsSavepoints()
检索此数据库是否支持保存点。boolean
supportsSchemasInDataManipulation()
检索是否可以在数据操作语句中使用模式名称。boolean
supportsSchemasInIndexDefinitions()
检索是否可以在索引定义语句中使用模式名称。boolean
supportsSchemasInPrivilegeDefinitions()
检索是否可以在特权定义语句中使用模式名称。boolean
supportsSchemasInProcedureCalls()
检索是否可以在过程调用语句中使用模式名称。boolean
supportsSchemasInTableDefinitions()
检索表定义语句中是否可以使用模式名称。boolean
supportsSelectForUpdate()
检索此数据库是否支持SELECT FOR UPDATE
语句。default boolean
supportsSharding()
检索此数据库是否支持分片。boolean
supportsStatementPooling()
检索此数据库是否支持语句池。boolean
supportsStoredFunctionsUsingCallSyntax()
检索此数据库是否支持使用存储过程转义语法调用用户定义或供应商功能。boolean
supportsStoredProcedures()
检索此数据库是否支持使用存储过程转义语法的存储过程调用。boolean
supportsSubqueriesInComparisons()
检索此数据库是否支持比较表达式中的子查询。boolean
supportsSubqueriesInExists()
检索此数据库是否支持EXISTS
表达式中的子查询。boolean
supportsSubqueriesInIns()
检索此数据库是否支持IN
表达式中的子查询。boolean
supportsSubqueriesInQuantifieds()
检索此数据库是否支持量化表达式中的子查询。boolean
supportsTableCorrelationNames()
检索此数据库是否支持表相关名称。boolean
supportsTransactionIsolationLevel(int level)
检索此数据库是否支持给定的事务隔离级别。boolean
supportsTransactions()
检索此数据库是否支持事务。boolean
supportsUnion()
检索此数据库是否支持SQLUNION
。boolean
supportsUnionAll()
检索此数据库是否支持SQLUNION ALL
。boolean
updatesAreDetected(int type)
检索是否通过调用方法ResultSet.rowUpdated
检测到可见行更新。boolean
usesLocalFilePerTable()
检索此数据库是否为每个表使用一个文件。boolean
usesLocalFiles()
检索此数据库是否将表存储在本地文件中。-
Methods inherited from interface java.sql.Wrapper
isWrapperFor, unwrap
-
-
-
-
字段详细信息
-
procedureResultUnknown
static final int procedureResultUnknown
表示不知道过程是否返回结果。由方法
getProcedures
返回的ResultSet
对象中的列PROCEDURE_TYPE
可能值。- 另请参见:
- Constant Field Values
-
procedureNoResult
static final int procedureNoResult
表示该过程不返回结果。由方法
getProcedures
返回的ResultSet
对象中的列PROCEDURE_TYPE
可能值。- 另请参见:
- Constant Field Values
-
procedureReturnsResult
static final int procedureReturnsResult
表示该过程返回结果。由方法
getProcedures
返回的ResultSet
对象中的列PROCEDURE_TYPE
可能值。- 另请参见:
- Constant Field Values
-
procedureColumnUnknown
static final int procedureColumnUnknown
表示列的类型未知。COLUMN_TYPE
中ResultSet
的列可能的值由方法getProcedureColumns
返回。- 另请参见:
- Constant Field Values
-
procedureColumnIn
static final int procedureColumnIn
表示列存储IN参数。该列的可能值
COLUMN_TYPE
在ResultSet
该方法返回getProcedureColumns
。- 另请参见:
- Constant Field Values
-
procedureColumnInOut
static final int procedureColumnInOut
表示列存储INOUT参数。该列的可能值
COLUMN_TYPE
在ResultSet
该方法返回getProcedureColumns
。- 另请参见:
- Constant Field Values
-
procedureColumnOut
static final int procedureColumnOut
表示列存储OUT参数。COLUMN_TYPE
中ResultSet
的列可能的值由方法getProcedureColumns
返回。- 另请参见:
- Constant Field Values
-
procedureColumnReturn
static final int procedureColumnReturn
表示列存储返回值。该列的可能值
COLUMN_TYPE
在ResultSet
该方法返回getProcedureColumns
。- 另请参见:
- Constant Field Values
-
procedureColumnResult
static final int procedureColumnResult
表示列存储结果。COLUMN_TYPE
中ResultSet
列中可能的值由方法getProcedureColumns
返回。- 另请参见:
- Constant Field Values
-
procedureNoNulls
static final int procedureNoNulls
表示不允许NULL
值。由方法
getProcedureColumns
返回的ResultSet
对象中的列NULLABLE
可能值。- 另请参见:
- Constant Field Values
-
procedureNullable
static final int procedureNullable
表示允许NULL
值。由方法
getProcedureColumns
返回的ResultSet
对象中的列NULLABLE
可能值。- 另请参见:
- Constant Field Values
-
procedureNullableUnknown
static final int procedureNullableUnknown
表示是否允许NULL
值是未知的。由方法
getProcedureColumns
返回的ResultSet
对象中的列NULLABLE
可能值。- 另请参见:
- Constant Field Values
-
columnNoNulls
static final int columnNoNulls
表示列可能不允许NULL
值。在
ResultSet
通过方法getColumns
返回的列NULLABLE
可能值。- 另请参见:
- Constant Field Values
-
columnNullable
static final int columnNullable
表示该列绝对允许NULL
值。该列的可能值
NULLABLE
在ResultSet
该方法返回getColumns
。- 另请参见:
- Constant Field Values
-
columnNullableUnknown
static final int columnNullableUnknown
表示列的无效性是未知的。NULLABLE
中ResultSet
列可能的值由方法getColumns
返回。- 另请参见:
- Constant Field Values
-
bestRowTemporary
static final int bestRowTemporary
表示最佳行标识符的范围是非常临时的,只在该行被使用时持久。由方法
getBestRowIdentifier
返回的ResultSet
对象中的列SCOPE
可能值。- 另请参见:
- Constant Field Values
-
bestRowTransaction
static final int bestRowTransaction
表示最佳行标识符的范围是当前事务的剩余部分。由方法
getBestRowIdentifier
返回的ResultSet
对象中的列SCOPE
可能值。- 另请参见:
- Constant Field Values
-
bestRowSession
static final int bestRowSession
表示最佳行标识符的范围是当前会话的剩余部分。由方法
getBestRowIdentifier
返回的ResultSet
对象中的列SCOPE
可能值。- 另请参见:
- Constant Field Values
-
bestRowUnknown
static final int bestRowUnknown
表示最佳行标识符可能是伪列,也可能不是伪列。由方法
getBestRowIdentifier
返回的ResultSet
对象中的列PSEUDO_COLUMN
可能值。- 另请参见:
- Constant Field Values
-
bestRowNotPseudo
static final int bestRowNotPseudo
表示最佳行标识符不是伪列。由方法
getBestRowIdentifier
返回的ResultSet
对象中的列PSEUDO_COLUMN
可能值。- 另请参见:
- Constant Field Values
-
bestRowPseudo
static final int bestRowPseudo
表示最佳行标识符是伪列。由方法
getBestRowIdentifier
返回的ResultSet
对象中的列PSEUDO_COLUMN
可能值。- 另请参见:
- Constant Field Values
-
versionColumnUnknown
static final int versionColumnUnknown
表示此版本列可能是也可能不是伪列。由方法
getVersionColumns
返回的ResultSet
对象中的列PSEUDO_COLUMN
可能值。- 另请参见:
- Constant Field Values
-
versionColumnNotPseudo
static final int versionColumnNotPseudo
表示此版本列不是伪列。由方法
getVersionColumns
返回的ResultSet
对象中的列PSEUDO_COLUMN
可能值。- 另请参见:
- Constant Field Values
-
versionColumnPseudo
static final int versionColumnPseudo
表示此版本列是伪列。由方法
getVersionColumns
返回的ResultSet
对象中的列PSEUDO_COLUMN
可能值。- 另请参见:
- Constant Field Values
-
importedKeyCascade
static final int importedKeyCascade
对于列UPDATE_RULE
,表示当主键更新时,外键(导入的键)被更改以与其一致。 对于列DELETE_RULE
,它表示当主键被删除时,导入该键的行被删除。对于各列的可能值
UPDATE_RULE
和DELETE_RULE
在ResultSet
通过所述方法返回的对象getImportedKeys
,getExportedKeys
,和getCrossReference
。- 另请参见:
- Constant Field Values
-
importedKeyRestrict
static final int importedKeyRestrict
对于列UPDATE_RULE
,表示主键可能不被更新,如果它已被其他表导入为外键。 对于列DELETE_RULE
,表示如果主键已被其他表作为外键导入,则可能不删除主键。对于各列的可能值
UPDATE_RULE
和DELETE_RULE
在ResultSet
通过所述方法返回的对象getImportedKeys
,getExportedKeys
,和getCrossReference
。- 另请参见:
- Constant Field Values
-
importedKeySetNull
static final int importedKeySetNull
对于列UPDATE_RULE
和DELETE_RULE
,表示当主键被更新或删除时,外键(导入的键)被更改为NULL
。对于各列的可能值
UPDATE_RULE
和DELETE_RULE
在ResultSet
通过所述方法返回的对象getImportedKeys
,getExportedKeys
,和getCrossReference
。- 另请参见:
- Constant Field Values
-
importedKeyNoAction
static final int importedKeyNoAction
对于列UPDATE_RULE
和DELETE_RULE
,表示如果主键已导入,则不能更新或删除。对于各列的可能值
UPDATE_RULE
和DELETE_RULE
在ResultSet
通过所述方法返回的对象getImportedKeys
,getExportedKeys
,和getCrossReference
。- 另请参见:
- Constant Field Values
-
importedKeySetDefault
static final int importedKeySetDefault
对于列UPDATE_RULE
和DELETE_RULE
,表示如果主键被更新或删除,则外键(导入的键)被设置为默认值。对于各列的可能值
UPDATE_RULE
和DELETE_RULE
在ResultSet
通过所述方法返回的对象getImportedKeys
,getExportedKeys
,和getCrossReference
。- 另请参见:
- Constant Field Values
-
importedKeyInitiallyDeferred
static final int importedKeyInitiallyDeferred
表示延迟。 有关定义,请参见SQL-92。该列的可能值
DEFERRABILITY
在ResultSet
通过所述方法返回的对象getImportedKeys
,getExportedKeys
,和getCrossReference
。- 另请参见:
- Constant Field Values
-
importedKeyInitiallyImmediate
static final int importedKeyInitiallyImmediate
表示延迟。 有关定义,请参见SQL-92。该列的可能值
DEFERRABILITY
在ResultSet
通过所述方法返回的对象getImportedKeys
,getExportedKeys
,和getCrossReference
。- 另请参见:
- Constant Field Values
-
importedKeyNotDeferrable
static final int importedKeyNotDeferrable
表示延迟。 有关定义,请参见SQL-92。该列的可能值
DEFERRABILITY
在ResultSet
通过所述方法返回的对象getImportedKeys
,getExportedKeys
,和getCrossReference
。- 另请参见:
- Constant Field Values
-
typeNoNulls
static final int typeNoNulls
表示该数据类型不允许使用NULL
值。由方法
getTypeInfo
返回的ResultSet
对象中的列NULLABLE
可能值。- 另请参见:
- Constant Field Values
-
typeNullable
static final int typeNullable
表示允许此数据类型的值为NULL
。由方法
getTypeInfo
返回的ResultSet
对象中的列NULLABLE
可能值。- 另请参见:
- Constant Field Values
-
typeNullableUnknown
static final int typeNullableUnknown
表示不知道该数据类型是否允许NULL
值。由方法
getTypeInfo
返回的ResultSet
对象中的列NULLABLE
可能值。- 另请参见:
- Constant Field Values
-
typePredNone
static final int typePredNone
表示此类型不支持搜索条件WHERE
。由方法
getTypeInfo
返回的ResultSet
对象中的列SEARCHABLE
可能值。- 另请参见:
- Constant Field Values
-
typePredChar
static final int typePredChar
表示数据类型只能在使用LIKE
谓词的WHERE
搜索子句中使用。ResultSet
对象中的列SEARCHABLE
可能的值由方法getTypeInfo
返回。- 另请参见:
- Constant Field Values
-
typePredBasic
static final int typePredBasic
表示数据类型只能在不使用LIKE
谓词的WHERE
搜索条款中使用。由方法
getTypeInfo
返回的ResultSet
对象中的列SEARCHABLE
可能值。- 另请参见:
- Constant Field Values
-
typeSearchable
static final int typeSearchable
表示所有WHERE
搜索子句都可以基于此类型。由方法
getTypeInfo
返回的ResultSet
对象中的列SEARCHABLE
可能值。- 另请参见:
- Constant Field Values
-
tableIndexStatistic
static final short tableIndexStatistic
表示此列包含与表的索引描述一起返回的表统计信息。由方法
getIndexInfo
返回的ResultSet
对象中的列TYPE
可能值。- 另请参见:
- Constant Field Values
-
tableIndexClustered
static final short tableIndexClustered
表示此表索引是聚簇索引。由方法
getIndexInfo
返回的ResultSet
对象中的列TYPE
可能值。- 另请参见:
- Constant Field Values
-
tableIndexHashed
static final short tableIndexHashed
表示此索引是散列索引。由方法
getIndexInfo
返回的ResultSet
对象中的列TYPE
可能值。- 另请参见:
- Constant Field Values
-
tableIndexOther
static final short tableIndexOther
表示此表索引不是聚簇索引,散列索引或表统计信息; 这是其他的东西。由方法
getIndexInfo
返回的ResultSet
对象中的列TYPE
可能值。- 另请参见:
- Constant Field Values
-
attributeNoNulls
static final short attributeNoNulls
表示可能不允许NULL
值。由方法
getAttributes
返回的ResultSet
对象中的列NULLABLE
可能值。- 另请参见:
- Constant Field Values
-
attributeNullable
static final short attributeNullable
表示绝对允许NULL
值。由方法
getAttributes
返回的ResultSet
对象中的列NULLABLE
可能值。- 另请参见:
- Constant Field Values
-
attributeNullableUnknown
static final short attributeNullableUnknown
表示是否允许NULL
值是未知的。由方法
getAttributes
返回的ResultSet
对象中的列NULLABLE
可能值。- 另请参见:
- Constant Field Values
-
sqlStateXOpen
static final int sqlStateXOpen
该方法一个可能的返回值DatabaseMetaData.getSQLStateType
这是用来指示由方法返回的值是否SQLException.getSQLState
是X /打开(现在知道的公开组)SQL CLI SQLSTATE值。- 从以下版本开始:
- 1.4
- 另请参见:
- Constant Field Values
-
sqlStateSQL
static final int sqlStateSQL
用于指示方法DatabaseMetaData.getSQLStateType
返回的值是否为SQLSTATE值的方法SQLException.getSQLState
的可能返回值。- 从以下版本开始:
- 1.6
- 另请参见:
- Constant Field Values
-
sqlStateSQL99
static final int sqlStateSQL99
该方法一个可能的返回值DatabaseMetaData.getSQLStateType
这是用来指示由方法返回的值是否SQLException.getSQLState
是一个SQL99 SQLSTATE值。注意:这个常数只是出于兼容性原因。 开发人员应该使用常数
sqlStateSQL
代替。- 从以下版本开始:
- 1.4
- 另请参见:
- Constant Field Values
-
functionColumnUnknown
static final int functionColumnUnknown
表示参数或列的类型未知。该列的可能值
COLUMN_TYPE
在ResultSet
该方法返回getFunctionColumns
。- 另请参见:
- Constant Field Values
-
functionColumnIn
static final int functionColumnIn
表示参数或列是IN参数。COLUMN_TYPE
的ResultSet
列可能的值由方法getFunctionColumns
返回。- 从以下版本开始:
- 1.6
- 另请参见:
- Constant Field Values
-
functionColumnInOut
static final int functionColumnInOut
表示参数或列是INOUT参数。该列的可能值
COLUMN_TYPE
在ResultSet
该方法返回getFunctionColumns
。- 从以下版本开始:
- 1.6
- 另请参见:
- Constant Field Values
-
functionColumnOut
static final int functionColumnOut
表示参数或列是OUT参数。COLUMN_TYPE
中ResultSet
列可能的值由方法getFunctionColumns
返回。- 从以下版本开始:
- 1.6
- 另请参见:
- Constant Field Values
-
functionReturn
static final int functionReturn
表示参数或列是返回值。该列的可能值
COLUMN_TYPE
在ResultSet
该方法返回getFunctionColumns
。- 从以下版本开始:
- 1.6
- 另请参见:
- Constant Field Values
-
functionColumnResult
static final int functionColumnResult
表示参数或列是结果集中的列。该列的可能值
COLUMN_TYPE
在ResultSet
该方法返回getFunctionColumns
。- 从以下版本开始:
- 1.6
- 另请参见:
- Constant Field Values
-
functionNoNulls
static final int functionNoNulls
表示不允许NULL
值。由方法
getFunctionColumns
返回的ResultSet
对象中的列NULLABLE
可能值。- 从以下版本开始:
- 1.6
- 另请参见:
- Constant Field Values
-
functionNullable
static final int functionNullable
表示允许NULL
值。由方法
getFunctionColumns
返回的ResultSet
对象中的列NULLABLE
可能值。- 从以下版本开始:
- 1.6
- 另请参见:
- Constant Field Values
-
functionNullableUnknown
static final int functionNullableUnknown
表示是否允许NULL
值是未知的。由方法
getFunctionColumns
返回的ResultSet
对象中的列NULLABLE
可能值。- 从以下版本开始:
- 1.6
- 另请参见:
- Constant Field Values
-
functionResultUnknown
static final int functionResultUnknown
表示不知道函数是返回结果还是表。由方法
getFunctions
返回的ResultSet
对象中的列FUNCTION_TYPE
可能值。- 从以下版本开始:
- 1.6
- 另请参见:
- Constant Field Values
-
functionNoTable
static final int functionNoTable
表示该函数不返回表。由方法
getFunctions
返回的ResultSet
对象中的列FUNCTION_TYPE
可能值。- 从以下版本开始:
- 1.6
- 另请参见:
- Constant Field Values
-
functionReturnsTable
static final int functionReturnsTable
表示该函数返回一个表。由方法
getFunctions
返回的ResultSet
对象中的列FUNCTION_TYPE
可能值。- 从以下版本开始:
- 1.6
- 另请参见:
- Constant Field Values
-
-
方法详细信息
-
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或
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
将出现NULL
值。 相比之下,方法nullsAreSortedAtEnd
指示是否在末尾对NULL
值进行排序,而不管排序顺序如何。- 结果
-
true
如果是的话;false
否则 - 异常
-
SQLException
- 如果发生数据库访问错误
-
nullsAreSortedLow
boolean nullsAreSortedLow() throws SQLException
检索NULL
值是否排序低。 Sorted low表示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
以String
检索此JDBC驱动程序的版本号。- 结果
- 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关键字的逗号分隔列表,这些关键字也不是SQL:2003关键字。- 结果
- 该数据库关键字的列表也不是SQL:2003关键字
- 异常
-
SQLException
- 如果发生数据库访问错误
-
getNumericFunctions
String getNumericFunctions() throws SQLException
检索此数据库可用的逗号分隔的数学函数列表。 这些是JDBC函数escape子句中使用的Open / Open CLI数学函数名称。- 结果
- 该数据库支持的数学函数列表
- 异常
-
SQLException
- 如果发生数据库访问错误
-
getStringFunctions
String getStringFunctions() throws SQLException
检索此数据库可用的逗号分隔的字符串函数列表。 这些是JDBC函数escape子句中使用的Open Group CLI字符串函数名。- 结果
- 此数据库支持的字符串函数的列表
- 异常
-
SQLException
- 如果发生数据库访问错误
-
getSystemFunctions
String getSystemFunctions() throws SQLException
检索此数据库可用的系统函数的逗号分隔列表。 这些是JDBC函数escape子句中使用的Open Group CLI系统函数名。- 结果
- 该数据库支持的系统功能列表
- 异常
-
SQLException
- 如果发生数据库访问错误
-
getTimeDateFunctions
String getTimeDateFunctions() throws SQLException
检索此数据库可用的时间和日期函数的逗号分隔列表。- 结果
- 该数据库支持的时间和日期功能的列表
- 异常
-
SQLException
- 如果发生数据库访问错误
-
getSearchStringEscape
String getSearchStringEscape() throws SQLException
检索可用于转义通配符的字符串。 这是可用于在作为模式的目录搜索参数中转义“_”或“%”的字符串(因此使用其中一个通配符)。'_'字符代表任何单个字符; '%'字符表示零个或多个字符的任何序列。
- 结果
- 用于转义通配符的字符串
- 异常
-
SQLException
- 如果发生数据库访问错误
-
getExtraNameCharacters
String getExtraNameCharacters() throws SQLException
检索可用于未引号的标识符名称(超出az,AZ,0-9和_)的所有“额外”字符。- 结果
- 该字符串包含额外的字符
- 异常
-
SQLException
- 如果发生数据库访问错误
-
supportsAlterTableWithAddColumn
boolean supportsAlterTableWithAddColumn() throws SQLException
检索此数据库是否支持ALTER TABLE
添加列。- 结果
-
true
如果是的话; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误
-
supportsAlterTableWithDropColumn
boolean supportsAlterTableWithDropColumn() throws SQLException
检索此数据库是否支持带有删除列的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标量函数CONVERT
用于将一种JDBC类型转换为另一种JDBC类型。 JDBC类型是在java.sql.Types
定义的通用SQL数据类型。- 结果
-
true
如果是的话; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误
-
supportsConvert
boolean supportsConvert(int fromType, int toType) throws SQLException
检索此数据库是否支持JDBC标量函数CONVERT
用于JDBC类型fromType和toType之间的转换。 JDBC类型是在java.sql.Types
定义的通用SQL数据类型。- 参数
-
fromType
- 转换的类型; 来自类别java.sql.Types
的类型代码java.sql.Types
-
toType
- 要转换的类型; 来自类别java.sql.Types
的类型代码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
检索此数据库是否支持使用ORDER BY
子句中不在SELECT
语句中的ORDER BY
。- 结果
-
true
如果是的话; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误
-
supportsGroupBy
boolean supportsGroupBy() throws SQLException
检索此数据库是否支持某种形式的GROUP BY
子句。- 结果
-
true
如果是这样的话 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误
-
supportsGroupByUnrelated
boolean supportsGroupByUnrelated() throws SQLException
检索此数据库是否支持在GROUP BY
子句中使用GROUP BY
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
检索此数据库是否允许同时打开多个事务(在不同的连接上)。- 结果
-
true
如果是的话 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误
-
supportsNonNullableColumns
boolean supportsNonNullableColumns() throws SQLException
检索此数据库中的列是否可以被定义为不可为空。- 结果
-
true
如果是的话; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误
-
supportsMinimumSQLGrammar
boolean supportsMinimumSQLGrammar() throws SQLException
检索此数据库是否支持ODBC最低SQL语法。- 结果
-
true
如果是的话; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误
-
supportsCoreSQLGrammar
boolean supportsCoreSQLGrammar() throws SQLException
检索此数据库是否支持ODBC Core SQL语法。- 结果
-
true
如果是的话; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误
-
supportsExtendedSQLGrammar
boolean supportsExtendedSQLGrammar() throws SQLException
检索此数据库是否支持ODBC扩展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完整性增强工具。- 结果
-
true
如果是的话;false
否则 - 异常
-
SQLException
- 如果发生数据库访问错误
-
supportsOuterJoins
boolean supportsOuterJoins() throws SQLException
检索此数据库是否支持某种形式的外连接。- 结果
-
true
如果是这样的话 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误
-
supportsFullOuterJoins
boolean supportsFullOuterJoins() throws SQLException
检索此数据库是否支持完全嵌套的外连接。- 结果
-
true
如果是的话; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误
-
supportsLimitedOuterJoins
boolean supportsLimitedOuterJoins() throws SQLException
检索此数据库是否为外连接提供有限的支持。 (这将是true
,如果该方法supportsFullOuterJoins
返回true
)。- 结果
-
true
如果是这样的话 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误
-
getSchemaTerm
String getSchemaTerm() throws SQLException
检索“模式”的数据库供应商的首选项。- 结果
- “模式”的供应商术语
- 异常
-
SQLException
- 如果发生数据库访问错误
-
getProcedureTerm
String getProcedureTerm() throws SQLException
检索“程序”的数据库供应商的首选项。- 结果
- “程序”的供应商术语
- 异常
-
SQLException
- 如果发生数据库访问错误
-
getCatalogTerm
String getCatalogTerm() throws SQLException
检索“目录”的数据库供应商的首选项。- 结果
- “目录”的供应商术语
- 异常
-
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
检索此数据库是否支持量化表达式中的子查询。- 结果
-
true
如果是这样的话 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误
-
supportsCorrelatedSubqueries
boolean supportsCorrelatedSubqueries() throws SQLException
检索此数据库是否支持相关的子查询。- 结果
-
true
如果是的话; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误
-
supportsUnion
boolean supportsUnion() throws SQLException
检索此数据库是否支持SQLUNION
。- 结果
-
true
如果是的话 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误
-
supportsUnionAll
boolean supportsUnionAll() throws SQLException
检索此数据库是否支持SQLUNION 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
if语句总是保持开放;false
如果他们可能不会保持开放 - 异常
-
SQLException
- 如果发生数据库访问错误
-
supportsOpenStatementsAcrossRollback
boolean supportsOpenStatementsAcrossRollback() throws SQLException
检索此数据库是否支持在回滚期间保持语句打开。- 结果
-
true
if语句始终保持打开状态;false
如果他们可能不会保持打开 - 异常
-
SQLException
- 如果发生数据库访问错误
-
getMaxBinaryLiteralLength
int getMaxBinaryLiteralLength() throws SQLException
检索数据库允许的内联二进制文字的最大十六进制数。- 结果
- 最大二进制文字的最大长度(十六进制字符); 零的结果意味着没有限制或限制是不知道的
- 异常
-
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数据类型LONGVARCHAR
和LONGVARBINARY
。- 结果
-
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
定义的事务隔离级别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
200的X- 200 200 X- 200 200 X- 200 200:仅返回与模式和过程名称标准相匹配的过程描述。 他们被下令
PROCEDURE_CAT
,PROCEDURE_SCHEM
,PROCEDURE_NAME
和SPECIFIC_ NAME
。每个过程描述都有以下列:
- PROCEDURE_CAT字符串
=>
程序目录(可能为null
) - PROCEDURE_SCHEM字符串
=>
过程模式(可能为null
) - PROCEDURE_NAME字符串
=>
过程名称 - 保留供将来使用
- 保留供将来使用
- 保留供将来使用
- 备注字符串
=>
对程序的解释性评论 - PROCEDURE_TYPE短
=>
种程序:- procedureResultUnknown - 无法确定是否返回值
- procedureNoResult - 不返回返回值
- procedureReturnsResult - 返回一个返回值
- SPECIFIC_NAME字符串
=>
在其模式中唯一标识此过程的名称。
用户可能没有执行
getProcedures
返回的任何过程的getProcedures
- 参数
-
catalog
- 目录名称; 必须匹配存储在数据库中的目录名称; “”检索没有目录的那些;null
表示目录名称不应用于缩小搜索范围 -
schemaPattern
- 模式名称模式; 必须匹配存储在数据库中的模式名称; “”检索没有模式的那些;null
意味着不应该使用模式名称来缩小搜索范围 -
procedureNamePattern
- 过程名称模式; 必须与存储在数据库中的过程名称相匹配 - 结果
-
ResultSet
- 每一行都是一个过程描述 - 异常
-
SQLException
- 如果发生数据库访问错误 - 另请参见:
-
getSearchStringEscape()
- PROCEDURE_CAT字符串
-
getProcedureColumns
ResultSet getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) throws SQLException
检索给定目录的存储过程参数和结果列的描述。仅返回与模式,过程和参数名称标准相匹配的描述。 它们由PROCEDURE_CAT,PROCEDURE_SCHEM,PROCEDURE_NAME和SPECIFIC_NAME命令。 在这里,返回值(如果有的话)是第一个。 接下来是呼叫顺序中的参数说明。 列描述按照列号顺序。
ResultSet
中的每一行都是具有以下字段的参数描述或列描述:- PROCEDURE_CAT字符串
=>
过程目录(可能为null
) - PROCEDURE_SCHEM字符串
=>
过程模式(可能为null
) - PROCEDURE_NAME字符串
=>
过程名称 - COLUMN_NAME字符串
=>
列/参数名称 - COLUMN_TYPE Short
=>
列/参数:- procedureColumnUnknown - 没有人知道
- procedureColumnIn - IN参数
- procedureColumnInOut - INOUT参数
- procedureColumnOut - OUT参数
- procedureColumnReturn - 过程返回值
- procedureColumnResult - 结果列在
ResultSet
- DATA_TYPE int
=>
java.sql.Types中的SQL类型 - TYPE_NAME字符串
=>
SQL类型名称,对于UDT类型,类型名称是完全限定的 - PRECISION int
=>
精度 - LENGTH int
=>
以字节为单位的数据长度 - SCALE short
=>
scale - 对于SCALE不适用的数据类型返回null。 - RADIX短
=>
基数 - NULLABLE short
=>
可以包含NULL。- procedureNoNulls - 不允许NULL值
- procedureNullable - 允许NULL值
- procedureNullableUnknown - 可空性未知
- 备注字符串
=>
注释描述参数/列 - COLUMN_DEF字符串
=>
列的默认值,当值以单引号括起时,应将其解释为字符串(可能为null
)- 字符串NULL(不包含在引号中) - 如果将NULL指定为默认值
- TRUNCATE(不用引号括起来) - 如果指定的默认值不能被表示而不被截断
- NULL - 如果未指定默认值
- SQL_DATA_TYPE int
=>
保留供将来使用 - SQL_DATETIME_SUB int
=>
保留供将来使用 - CHAR_OCTET_LENGTH int
=>
基于二进制和字符的列的最大长度。 对于任何其他数据类型,返回的值为NULL - ORDINAL_POSITION int
=>
从1开始的顺序位置,用于过程的输入和输出参数。 如果此行描述过程的返回值,则返回值0。 对于结果集列,它是从1开始的结果集中的列的顺序位置。如果有多个结果集,则列序号位置是实现定义的。 - IS_NULLABLE字符串
=>
ISO规则用于确定列的可空性。- YES ---如果列可以包含NULL
- 否---如果列不能包含NULL
- 空字符串---如果列的可空性是未知的
- SPECIFIC_NAME字符串
=>
在其模式中唯一标识此过程的名称。
注意:某些数据库可能不返回过程的列描述。
PRECISION列表示给定列的指定列大小。 对于数值数据,这是最大精度。 对于字符数据,这是字符长度。 对于datetime数据类型,这是String表示形式的长度(假定分数秒分量的最大允许精度)。 对于二进制数据,这是以字节为单位的长度。 对于ROWID数据类型,这是以字节为单位的长度。 对于列大小不适用的数据类型,返回空值。
- 参数
-
catalog
- 目录名称; 必须匹配存储在数据库中的目录名称; “”检索没有目录的那些;null
表示目录名称不应用于缩小搜索范围 -
schemaPattern
- 模式名称模式; 必须匹配存储在数据库中的模式名称; “”检索没有模式的那些;null
表示不应该使用模式名称来缩小搜索范围 -
procedureNamePattern
- 过程名称模式; 必须与存储在数据库中的过程名称相匹配 -
columnNamePattern
- 列名称模式; 必须匹配存储在数据库中的列名称 - 结果
-
ResultSet
- 每行描述一个存储过程参数或列 - 异常
-
SQLException
- 如果发生数据库访问错误 - 另请参见:
-
getSearchStringEscape()
- PROCEDURE_CAT字符串
-
getTables
ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) throws SQLException
检索给定目录中可用表的描述。 仅返回与目录,模式,表名和类型条件匹配的表描述。 他们被下令TABLE_TYPE
,TABLE_CAT
,TABLE_SCHEM
和TABLE_NAME
。每个表格描述包含以下列:
- TABLE_CAT字符串
=>
表目录(可能为null
) - TABLE_SCHEM字符串
=>
表模式(可以是null
) - TABLE_NAME字符串
=>
表名 - TABLE_TYPE字符串
=>
表类型。 典型的类型是“TABLE”,“VIEW”,“SYSTEM TABLE”,“GLOBAL TEMPORARY”,“LOCAL TEMPORARY”,“ALIAS”,“SYNONYM”。 - 备注字符串
=>
表上的解释性注释(可能为null
) - TYPE_CAT字符串
=>
类型目录(可能为null
) - TYPE_SCHEM字符串
=>
类型模式(可能是null
) - TYPE_NAME字符串
=>
类型名称(可能为null
) - SELF_REFERENCING_COL_NAME字符串
=>
打字表的指定“标识符”列的名称(可能为null
) - REF_GENERATION字符串
=>
指定如何创建SELF_REFERENCING_COL_NAME中的值。 值为“SYSTEM”,“USER”,“DERIVED”。 (可以是null
)
注意:某些数据库可能不会返回所有表的信息。
- 参数
-
catalog
- 目录名称; 必须匹配存储在数据库中的目录名称; “”检索没有目录的那些;null
表示目录名称不应用于缩小搜索范围 -
schemaPattern
- 模式名称模式; 必须匹配存储在数据库中的模式名称; “”检索没有模式的那些;null
意味着不应该使用模式名称来缩小搜索范围 -
tableNamePattern
- 表名称模式; 必须匹配存储在数据库中的表名称 -
types
- 表格类型的列表,它们必须来自于从getTableTypes()
返回的表格类型列表;null
返回所有类型 - 结果
-
ResultSet
- 每一行都是表的描述 - 异常
-
SQLException
- 如果发生数据库访问错误 - 另请参见:
-
getSearchStringEscape()
- TABLE_CAT字符串
-
getSchemas
ResultSet getSchemas() throws SQLException
检索此数据库中可用的模式名称。 结果由TABLE_CATALOG
和TABLE_SCHEM
。模式列为:
- TABLE_SCHEM字符串
=>
模式名称 - TABLE_CATALOG字符串
=>
目录名称(可能为null
)
- 结果
-
一个
ResultSet
对象,其中每行是模式描述 - 异常
-
SQLException
- 如果发生数据库访问错误
- TABLE_SCHEM字符串
-
getCatalogs
ResultSet getCatalogs() throws SQLException
检索此数据库中可用的目录名称。 结果按目录名称排序。目录栏是:
- TABLE_CAT字符串
=>
目录名称
- 结果
-
一个
ResultSet
对象,其中每行具有作为目录名称的单个String
列 - 异常
-
SQLException
- 如果发生数据库访问错误
- TABLE_CAT字符串
-
getTableTypes
ResultSet getTableTypes() throws SQLException
检索此数据库中可用的表类型。 结果按表类型排序。表格类型是:
- TABLE_TYPE字符串
=>
表类型。 典型的类型是“TABLE”,“VIEW”,“SYSTEM TABLE”,“GLOBAL TEMPORARY”,“LOCAL TEMPORARY”,“ALIAS”,“SYNONYM”。
- 结果
-
一个
ResultSet
对象,其中每行具有单个String
列,即表类型 - 异常
-
SQLException
- 如果发生数据库访问错误
- TABLE_TYPE字符串
-
getColumns
ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException
检索指定目录中可用的表列的描述。仅返回与目录,模式,表和列名称标准相匹配的列描述。 他们被下令
TABLE_CAT
,TABLE_SCHEM
,TABLE_NAME
,并ORDINAL_POSITION
。每列描述具有以下列:
- TABLE_CAT字符串
=>
表目录(可能为null
) - TABLE_SCHEM字符串
=>
表模式(可以是null
) - TABLE_NAME字符串
=>
表名 - COLUMN_NAME字符串
=>
列名称 - DATA_TYPE int
=>
java.sql.Types中的SQL类型 - TYPE_NAME字符串
=>
数据源相关类型名称,对于UDT,类型名称是完全限定的 - COLUMN_SIZE int
=>
列大小。 - 不使用BUFFER_LENGTH 。
- DECIMAL_DIGITS int
=>
小数位数。 对于DECIMAL_DIGITS不适用的数据类型,返回空值。 - NUM_PREC_RADIX int
=>
基数(通常为10或2) - NULLABLE int
=>
允许NULL。- columnNoNulls - 可能不允许
NULL
值 - columnNullable - 绝对允许
NULL
值 - columnNullableUnknown - 可空性未知
- columnNoNulls - 可能不允许
- 备注字符串
=>
注释描述列(可能为null
) - COLUMN_DEF字符串
=>
列的默认值,当该值以单引号括起时,应将其解释为字符串(可能为null
) - 未使用SQL_DATA_TYPE int
=>
- SQL_DATETIME_SUB int
=>
未使用 - CHAR_OCTET_LENGTH int
=>
用于char类型列中最大字节数 - ORDINAL_POSITION int
=>
表中的列索引(从1开始) - IS_NULLABLE字符串
=>
ISO规则用于确定列的可空性。- YES ---如果列可以包含NULL
- 否---如果列不能包含NULL
- 空字符串---如果列的可空性是未知的
- SCOPE_CATALOG字符串
=>
作为引用属性范围的表的目录(如果DATA_TYPE不是REF,null
) - SCOPE_SCHEMA字符串
=>
作为参考属性范围的表的模式(如果DATA_TYPE不是REF,null
) - SCOPE_TABLE字符串
=>
表名称,这个参考属性的范围(如果DATA_TYPE不是REF,null
) - SOURCE_DATA_TYPE short
=>
不同类型或用户生成的引用类型的源类型,java.sql.Types中的SQL类型(如果DATA_TYPE不是DISTINCT或用户生成的REF,null
) - IS_AUTOINCREMENT字符串
=>
指示此列是否自动递增- YES ---如果列自动递增
- 否---如果列不自动递增
- 空字符串---如果无法确定列是否自动递增
- IS_GENERATEDCOLUMN字符串
=>
指示这是否是生成的列- 是---如果这是一个生成的列
- 否---如果这不是一个生成的列
- 空字符串---如果无法确定这是否是生成的列
COLUMN_SIZE列指定给定列的列大小。 对于数值数据,这是最大精度。 对于字符数据,这是字符长度。 对于datetime数据类型,这是String表示形式的长度(假定分数秒分量的最大允许精度)。 对于二进制数据,这是以字节为单位的长度。 对于ROWID数据类型,这是以字节为单位的长度。 对于列大小不适用的数据类型,返回空值。
- 参数
-
catalog
- 目录名称; 必须匹配存储在数据库中的目录名称; “”检索没有目录的那些;null
表示目录名称不应用于缩小搜索范围 -
schemaPattern
- 模式名称模式; 必须匹配存储在数据库中的模式名称; “”检索没有模式的那些;null
意味着不应该使用模式名称来缩小搜索范围 -
tableNamePattern
- 表名称模式; 必须匹配存储在数据库中的表名称 -
columnNamePattern
- 列名称模式; 必须匹配存储在数据库中的列名称 - 结果
-
ResultSet
- 每行都是列描述 - 异常
-
SQLException
- 如果发生数据库访问错误 - 另请参见:
-
getSearchStringEscape()
- TABLE_CAT字符串
-
getColumnPrivileges
ResultSet getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern) throws SQLException
检索表的列的访问权限的描述。只返回匹配列名称条件的权限。 它们由COLUMN_NAME和PRIVILEGE命令。
每个权限描述都具有以下列:
- TABLE_CAT字符串
=>
表目录(可能为null
) - TABLE_SCHEM字符串
=>
表模式(可以是null
) - TABLE_NAME字符串
=>
表名 - COLUMN_NAME字符串
=>
列名称 - GRANTOR字符串
=>
设保人(可能为null
) - GRANTEE字符串
=>
授权人 - PRIVILEGE字符串
=>
访问名称(SELECT,INSERT,UPDATE,REFERENCES,...) - IS_GRANTABLE字符串
=>
“是”如果受让人被允许授予他人; “否”如果没有;null
如果未知
- 参数
-
catalog
- 目录名称; 必须匹配存储在数据库中的目录名称; “”检索没有目录的那些;null
表示目录名称不应用于缩小搜索范围 -
schema
- 模式名称; 必须匹配存储在数据库中的模式名称; “”检索没有模式的那些;null
意味着不应该使用模式名称来缩小搜索范围 -
table
- 表名; 必须匹配存储在数据库中的表名称 -
columnNamePattern
- 列名称模式; 必须匹配存储在数据库中的列名称 - 结果
-
ResultSet
- 每一行都是列特权描述 - 异常
-
SQLException
- 如果发生数据库访问错误 - 另请参见:
-
getSearchStringEscape()
- TABLE_CAT字符串
-
getTablePrivileges
ResultSet getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern) throws SQLException
检索目录中可用的每个表的访问权限的描述。 请注意,表权限适用于表中的一个或多个列。 假设此权限适用于所有列(这对某些系统可能是真实的但对所有列都不正确)将是错误的。)只返回匹配模式和表名称条件的权限。 他们被下令
TABLE_CAT
,TABLE_SCHEM
,TABLE_NAME
,并PRIVILEGE
。每个权限描述都具有以下列:
- TABLE_CAT字符串
=>
表目录(可能为null
) - TABLE_SCHEM字符串
=>
表模式(可以是null
) - TABLE_NAME字符串
=>
表名 - GRANTOR字符串
=>
设保人访问(可能为null
) - GRANTEE字符串
=>
访问=>
人 - PRIVILEGE字符串
=>
访问名称(SELECT,INSERT,UPDATE,REFERENCES,...) - IS_GRANTABLE字符串
=>
“是”如果受让人被允许授予他人; “否”如果没有;null
如果未知
- 参数
-
catalog
- 目录名称; 必须匹配存储在数据库中的目录名称; “”检索没有目录的那些;null
表示目录名称不应用于缩小搜索范围 -
schemaPattern
- 模式名称模式; 必须匹配存储在数据库中的模式名称; “”检索没有模式的那些;null
意味着不应该使用模式名称来缩小搜索范围 -
tableNamePattern
- 表名模式; 必须匹配存储在数据库中的表名称 - 结果
-
ResultSet
- 每一行都是表特权描述 - 异常
-
SQLException
- 如果发生数据库访问错误 - 另请参见:
-
getSearchStringEscape()
- TABLE_CAT字符串
-
getBestRowIdentifier
ResultSet getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable) throws SQLException
检索表的唯一标识行的最佳列集描述。 它们由SCOPE命令。每列描述具有以下列:
- 范围短
=>
实际结果范围- bestRowTemporary - 非常临时,同时使用行
- bestRowTransaction - 对当前事务的剩余部分有效
- bestRowSession - 对当前会话剩余部分有效
- COLUMN_NAME字符串
=>
列名称 - DATA_TYPE int
=>
java.sql.Types中的SQL数据类型 - TYPE_NAME字符串
=>
数据源相关类型名称,对于UDT,类型名称是完全限定的 - COLUMN_SIZE int
=>
精度 - BUFFER_LENGTH int
=>
未使用 - DECIMAL_DIGITS short
=>
scale - 对于DECIMAL_DIGITS不适用的数据类型,返回空值。 - PSEUDO_COLUMN short
=>
这是一个像Oracle ROWID这样的伪列- bestRowUnknown - 可能是也可能不是伪列
- bestRowNotPseudo - 不是伪列
- bestRowPseudo - 是一个伪列
COLUMN_SIZE列表示给定列的指定列大小。 对于数值数据,这是最大精度。 对于字符数据,这是字符长度。 对于datetime数据类型,这是String表示形式的长度(假定分数秒分量的最大允许精度)。 对于二进制数据,这是以字节为单位的长度。 对于ROWID数据类型,这是以字节为单位的长度。 对于列大小不适用的数据类型,返回空值。
- 参数
-
catalog
- 目录名称; 必须匹配存储在数据库中的目录名称; “”检索没有目录的那些;null
表示目录名称不应用于缩小搜索范围 -
schema
- 模式名称; 必须匹配存储在数据库中的模式名称; “”检索没有模式的那些;null
表示不应该使用模式名称来缩小搜索范围 -
table
- 表名; 必须匹配存储在数据库中的表名称 -
scope
- 感兴趣的范围; 使用与SCOPE相同的值 -
nullable
- 包含可空的列。 - 结果
-
ResultSet
- 每行都是列描述 - 异常
-
SQLException
- 如果发生数据库访问错误
- 范围短
-
getVersionColumns
ResultSet getVersionColumns(String catalog, String schema, String table) throws SQLException
检索表中更新行中任何值时自动更新的表的列的说明。 他们是无序的每列描述具有以下列:
- SCOPE短
=>
未使用 - COLUMN_NAME字符串
=>
列名 - DATA_TYPE int
=>
SQL数据类型,从java.sql.Types
- TYPE_NAME字符串
=>
数据源相关的类型名称 - COLUMN_SIZE int
=>
精度 - BUFFER_LENGTH int
=>
列值的长度(以字节为单位) - DECIMAL_DIGITS short
=>
scale - 对于DECIMAL_DIGITS不适用的数据类型,返回空值。 - PSEUDO_COLUMN short
=>
这是伪列如Oracle ROWID- versionColumnUnknown - 可能是也可能不是伪列
- versionColumnNotPseudo - 不是伪列
- versionColumnPseudo - 是一个伪列
COLUMN_SIZE列表示给定列的指定列大小。 对于数值数据,这是最大精度。 对于字符数据,这是字符长度。 对于datetime数据类型,这是String表示形式的长度(假定分数秒分量的最大允许精度)。 对于二进制数据,这是以字节为单位的长度。 对于ROWID数据类型,这是以字节为单位的长度。 对于列大小不适用的数据类型,返回空值。
- 参数
-
catalog
- 目录名称; 必须匹配存储在数据库中的目录名称; “”检索没有目录的那些;null
表示目录名称不应用于缩小搜索范围 -
schema
- 模式名称; 必须匹配存储在数据库中的模式名称; “”检索没有模式的那些;null
意味着不应该使用模式名称来缩小搜索范围 -
table
- 表名; 必须匹配存储在数据库中的表名称 - 结果
-
一个
ResultSet
对象,其中每行都是列描述 - 异常
-
SQLException
- 如果发生数据库访问错误
- SCOPE短
-
getPrimaryKeys
ResultSet getPrimaryKeys(String catalog, String schema, String table) throws SQLException
检索给定表的主键列的描述。 它们由COLUMN_NAME命令。每个主键列描述具有以下列:
- TABLE_CAT字符串
=>
表目录(可能为null
) - TABLE_SCHEM字符串
=>
表模式(可以是null
) - TABLE_NAME字符串
=>
表名 - COLUMN_NAME字符串
=>
列名 - KEY_SEQ短
=>
序列号内的主键(值1表示主密钥中的第一列,值2将代表主键中的第二列)。 - PK_NAME字符串
=>
主键名称(可能为null
)
- 参数
-
catalog
- 目录名称; 必须匹配存储在数据库中的目录名称; “”检索没有目录的那些;null
表示目录名称不应用于缩小搜索范围 -
schema
- 模式名称; 必须匹配存储在数据库中的模式名称; “”检索没有模式的那些;null
表示不应该使用模式名称来缩小搜索范围 -
table
- 表名; 必须匹配存储在数据库中的表名称 - 结果
-
ResultSet
- 每行是主键列描述 - 异常
-
SQLException
- 如果发生数据库访问错误
- TABLE_CAT字符串
-
getImportedKeys
ResultSet getImportedKeys(String catalog, String schema, String table) throws SQLException
检索给定表的外键列(由表导入的主键)引用的主键列的描述。 它们由PKTABLE_CAT,PKTABLE_SCHEM,PKTABLE_NAME和KEY_SEQ排序。每个主键列描述具有以下列:
- PKTABLE_CAT字符串
=>
正在导入的主键表目录(可能为null
) - PKTABLE_SCHEM字符串
=>
正在导入的主键表模式(可能为null
) -
=>
主键表名称的PKTABLE_NAME字符串=>
- PKCOLUMN_NAME字符串
=>
正在导入的主键列名称 - FKTABLE_CAT字符串
=>
外键表目录(可能为null
) - FKTABLE_SCHEM字符串
=>
外键表null
(可以是null
) - FKTABLE_NAME字符串
=>
外键表名 - FKCOLUMN_NAME字符串
=>
外键列名 - KEY_SEQ短
=>
外键内的序列号(值1表示外键的第一列中,值2将代表外键内的第二列)。 - UPDATE_RULE short
=>
当主键更新时,外键会发生什么:- importedNoAction - 如果导入了主键,则不允许更新主键
- importedKeyCascade - 更改导入的密钥以同意主密钥更新
- importedKeySetNull - 如果主键已更新,
NULL
导入的键更改为NULL
- importedKeySetDefault - 如果其主键已更新,则将导入的键更改为默认值
- importedKeyRestrict - 与importedKeyNoAction相同(适用于ODBC 2.x兼容性)
- DELETE_RULE short
=>
当删除主键时,外键会发生什么。- importedKeyNoAction - 如果导入了主键,则不允许删除主键
- importedKeyCascade - 删除导入已删除密钥的行
- importedKeySetNull - 如果主键已被删除,则将导入的键更改为NULL
- importedKeyRestrict - 与importedKeyNoAction相同(适用于ODBC 2.x兼容性)
- importedKeySetDefault - 如果主键已被删除,则将导入的键更改为默认值
- FK_NAME字符串
=>
外键名称(可能为null
) - PK_NAME字符串
=>
主键名称(可能为null
) - 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)
- PKTABLE_CAT字符串
-
getExportedKeys
ResultSet getExportedKeys(String catalog, String schema, String table) throws SQLException
检索引用给定表的主键列(由表导出的外键)的外键列的描述。 它们由FKTABLE_CAT,FKTABLE_SCHEM,FKTABLE_NAME和KEY_SEQ排序。每个外键列描述具有以下列:
- PKTABLE_CAT字符串
=>
主键表目录(可能为null
) - PKTABLE_SCHEM字符串
=>
主键表模式(可能为null
) - PKTABLE_NAME字符串
=>
主键表名 - PKCOLUMN_NAME字符串
=>
主键列名称 - FKTABLE_CAT字符串
=>
外键表目录(可能为null
)(可能为null
) - FKTABLE_SCHEM字符串
=>
正在导出的外键表模式(可能为null
)(可能为null
) - FKTABLE_NAME字符串
=>
正在导出的外键表名 - FKCOLUMN_NAME字符串
=>
正在导出的外键列名 - KEY_SEQ短
=>
序列号内的外键(值1表示外键的第一列中,值2将代表外键内的第二列)。 - UPDATE_RULE short
=>
主更新时外键会发生什么:- importedNoAction - 如果导入了主键,则不允许更新主键
- importedKeyCascade - 更改导入的密钥以同意主密钥更新
- importedKeySetNull - 如果其主键已更新,
NULL
导入的键更改为NULL
- importedKeySetDefault - 如果其主键已更新,则将导入的键更改为默认值
- importedKeyRestrict - 与importedKeyNoAction相同(适用于ODBC 2.x兼容性)
- DELETE_RULE short
=>
当删除主键时,外键会发生什么。- importedKeyNoAction - 如果导入了主键,则不允许删除主键
- importedKeyCascade - 删除导入已删除密钥的行
- importedKeySetNull - 如果主键已被删除,
NULL
导入的键更改为NULL
- importedKeyRestrict - 与importedKeyNoAction相同(适用于ODBC 2.x兼容性)
- importedKeySetDefault - 如果主键已被删除,则将导入的键更改为默认值
- FK_NAME字符串
=>
外键名称(可能为null
) - PK_NAME字符串
=>
主键名称(可能为null
) - DEFERRABILITY短
=>
可能的外键约束的评估延迟到提交- importedKeyInitiallyDeferred - 请参见SQL92的定义
- importedKeyInitiallyImmediate - 请参见SQL92的定义
- importedKeyNotDeferrable - 请参见SQL92的定义
- 参数
-
catalog
- 目录名称; 必须匹配存储在此数据库中的目录名称; “”检索没有目录的那些;null
表示目录名称不应用于缩小搜索范围 -
schema
- 模式名称; 必须匹配存储在数据库中的模式名称; “”检索没有模式的那些;null
意味着不应该使用模式名称来缩小搜索范围 -
table
- 表名; 必须匹配存储在此数据库中的表名称 - 结果
-
一个
ResultSet
对象,其中每行是外键列描述 - 异常
-
SQLException
- 如果发生数据库访问错误 - 另请参见:
-
getImportedKeys(java.lang.String, java.lang.String, java.lang.String)
- PKTABLE_CAT字符串
-
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排序。每个外键列描述具有以下列:
- PKTABLE_CAT字符串
=>
父键表目录(可能为null
) - PKTABLE_SCHEM字符串
=>
父密钥表模式(可以是null
) - PKTABLE_NAME字符串
=>
父键表名 - PKCOLUMN_NAME字符串
=>
父键列名 - FKTABLE_CAT字符串
=>
正在导出的外键表目录(可能为null
)(可能为null
) - FKTABLE_SCHEM字符串
=>
正在导出的外键表模式(可能为null
)(可能为null
) - FKTABLE_NAME字符串
=>
正在导出的外键表名称 - FKCOLUMN_NAME字符串
=>
正在导出的外键列名 - KEY_SEQ短
=>
序列号内的外键(值1表示外键的第一列中,值2将代表外键内的第二列)。 - UPDATE_RULE short
=>
父键更新时外键会发生什么:- importedNoAction - 如果已导入,则不允许更新父键
- importedKeyCascade - 更改导入的密钥以同意父密钥更新
- importedKeySetNull - 如果其父键已更新,
NULL
导入的键更改为NULL
- importedKeySetDefault - 如果父键被更新,则将导入的键更改为默认值
- importedKeyRestrict - 与importedKeyNoAction相同(适用于ODBC 2.x兼容性)
- DELETE_RULE short
=>
当父键被删除时,外键会发生什么。- importedKeyNoAction - 如果已经导入,则不允许删除父键
- importedKeyCascade - 删除导入已删除密钥的行
- importedKeySetNull - 如果主键已被删除,
NULL
导入的键更改为NULL
- importedKeyRestrict - 与importedKeyNoAction相同(适用于ODBC 2.x兼容性)
- importedKeySetDefault - 如果其父键已被删除,则将导入的键更改为默认值
- FK_NAME字符串
=>
外键名称(可能为null
) - PK_NAME字符串
=>
父密钥名称(可能为null
) - 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)
- PKTABLE_CAT字符串
-
getTypeInfo
ResultSet getTypeInfo() throws SQLException
检索此数据库支持的所有数据类型的描述。 它们由DATA_TYPE排序,然后数据类型映射到相应的JDBC SQL类型。如果数据库支持SQL distinct类型,那么getTypeInfo()将返回一行具有DISTINCT的TYPE_NAME和Types.DISTINCT的DATA_TYPE。 如果数据库支持SQL结构化类型,那么getTypeInfo()将返回一个TYPE_NAME为STRUCT和DATA_TYPE为Types.STRUCT的单行。
如果支持SQL不同或结构化类型,则可以从getUDTs()方法获取有关各个类型的信息。
每个类型的描述都有以下列:
- TYPE_NAME字符串
=>
类型名称 - DATA_TYPE int
=>
java.sql.Types中的SQL数据类型 - PRECISION int
=>
最大精度 - LITERAL_PREFIX字符串
=>
用于引用文字的前缀(可以是null
) - LITERAL_SUFFIX字符串
=>
用于引用文字的后缀(可能是null
) - CREATE_PARAMS字符串
=>
用于创建类型的参数(可能为null
) - NULLABLE short
=>
可以为此类型使用NULL。- typeNoNulls - 不允许NULL值
- typeNullable - 允许NULL值
- typeNullableUnknown - 可空性未知
- 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字符串
=>
本地化版本的类型名称(可能为null
) - MINIMUM_SCALE短
=>
支持最小比例 - 最大尺寸MAXIMUM_SCALE
=>
- 未使用SQL_DATA_TYPE int
=>
- SQL_DATETIME_SUB int
=>
未使用 - NUM_PREC_RADIX int
=>
通常为2或10
PRECISION列表示服务器为给定数据类型支持的最大列大小。 对于数值数据,这是最大精度。 对于字符数据,这是字符长度。 对于datetime数据类型,这是String表示形式的长度(假定分数秒分量的最大允许精度)。 对于二进制数据,这是以字节为单位的长度。 对于ROWID数据类型,这是以字节为单位的长度。 对于列大小不适用的数据类型,返回空值。
- 结果
-
一个
ResultSet
对象,其中每行都是SQL类型描述 - 异常
-
SQLException
- 如果发生数据库访问错误
- TYPE_NAME字符串
-
getIndexInfo
ResultSet getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate) throws SQLException
检索给定表的索引和统计信息的描述。 它们由NON_UNIQUE,TYPE,INDEX_NAME和ORDINAL_POSITION命令。每个索引列描述具有以下列:
- TABLE_CAT字符串
=>
表目录(可能为null
) - TABLE_SCHEM字符串
=>
表模式(可以是null
) - TABLE_NAME字符串
=>
表名 - NON_UNIQUE boolean
=>
索引值不唯一。 TYPE为tableIndexStatistic时为false - INDEX_QUALIFIER字符串
=>
索引目录(可能为null
); 当TYPE为tableIndexStatistic时,为null
- INDEX_NAME字符串
=>
索引名称; 当TYPE为tableIndexStatistic时,为null
- TYPE short
=>
索引类型:- tableIndexStatistic - 这将标识与表索引描述一起返回的表统计信息
- tableIndexClustered - 这是一个聚簇索引
- tableIndexHashed - 这是一个散列索引
- tableIndexOther - 这是其他风格的索引
- ORDINAL_POSITION短
=>
索引中的列序列号; TYPE为tableIndexStatistic时为零 - COLUMN_NAME字符串
=>
列名称; 当TYPE为tableIndexStatistic时,为null
- ASC_OR_DESC字符串
=>
列排序序列,“A”=>
升序,“D”=>
降序,如果不支持排序顺序,可以是null
; 当TYPE为tableIndexStatistic时,为null
- CARDINALITY long
=>
当TYPE是tableIndexStatistic时,这是表中的行数; 否则,它是索引中唯一值的数量。 - PAGES long
=>
当TYPE是tableIndexStatistic时,这是用于表的页数,否则是当前索引使用的页数。 - FILTER_CONDITION字符串
=>
过滤条件(如果有)。 (可以是null
)
- 参数
-
catalog
- 目录名称; 必须匹配存储在此数据库中的目录名称; “”检索没有目录的那些;null
表示目录名称不应用于缩小搜索范围 -
schema
- 模式名称; 必须与存储在此数据库中的模式名称相匹配; “”检索没有模式的那些;null
表示不应该使用模式名称来缩小搜索范围 -
table
- 表名; 必须匹配存储在此数据库中的表名称 -
unique
- 如果为true,则只返回唯一值的索引; 当假,返回指数,不管是否唯一 -
approximate
- 如果为true,则允许结果反映近似值或数据值; 如果虚假,请求结果准确 - 结果
-
ResultSet
- 每行是索引列描述 - 异常
-
SQLException
- 如果发生数据库访问错误
- TABLE_CAT字符串
-
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
定义的java.sql.ResultSet
- 结果
-
true
如果是的话; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.2
- 另请参见:
-
Connection
-
ownUpdatesAreVisible
boolean ownUpdatesAreVisible(int type) throws SQLException
检索是否为给定类型的ResultSet
对象,结果集的自己的更新是可见的。- 参数
-
type
-ResultSet
型; 之一ResultSet.TYPE_FORWARD_ONLY
,ResultSet.TYPE_SCROLL_INSENSITIVE
,或ResultSet.TYPE_SCROLL_SENSITIVE
- 结果
-
true
如果给定结果集类型的更新可见; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.2
-
ownDeletesAreVisible
boolean ownDeletesAreVisible(int type) throws SQLException
检索结果集自身的删除是否可见。- 参数
-
type
-ResultSet
型; 之一ResultSet.TYPE_FORWARD_ONLY
,ResultSet.TYPE_SCROLL_INSENSITIVE
,或ResultSet.TYPE_SCROLL_SENSITIVE
- 结果
-
true
如果删除对于给定的结果集类型可见; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.2
-
ownInsertsAreVisible
boolean ownInsertsAreVisible(int type) throws SQLException
检索结果集是否可以看到自己的插入。- 参数
-
type
-ResultSet
型; 之一ResultSet.TYPE_FORWARD_ONLY
,ResultSet.TYPE_SCROLL_INSENSITIVE
,或ResultSet.TYPE_SCROLL_SENSITIVE
- 结果
-
true
如果给定的结果集类型的插入是可见的; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.2
-
othersUpdatesAreVisible
boolean othersUpdatesAreVisible(int type) throws SQLException
检索其他人所做的更新是否可见。- 参数
-
type
-ResultSet
型; 之一ResultSet.TYPE_FORWARD_ONLY
,ResultSet.TYPE_SCROLL_INSENSITIVE
,或ResultSet.TYPE_SCROLL_SENSITIVE
- 结果
-
true
如果其他人所做的更新对于给定的结果集类型可见; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.2
-
othersDeletesAreVisible
boolean othersDeletesAreVisible(int type) throws SQLException
检索他人删除是否可见。- 参数
-
type
-ResultSet
类型; 之一ResultSet.TYPE_FORWARD_ONLY
,ResultSet.TYPE_SCROLL_INSENSITIVE
,或ResultSet.TYPE_SCROLL_SENSITIVE
- 结果
-
true
如果其他人所做的删除对于给定的结果集类型可见; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.2
-
othersInsertsAreVisible
boolean othersInsertsAreVisible(int type) throws SQLException
检索他人所做的插入是否可见。- 参数
-
type
-ResultSet
型; 之一ResultSet.TYPE_FORWARD_ONLY
,ResultSet.TYPE_SCROLL_INSENSITIVE
,或ResultSet.TYPE_SCROLL_SENSITIVE
- 结果
-
true
如果其他人所做的插入对于给定的结果集类型可见;false
否则 - 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.2
-
updatesAreDetected
boolean updatesAreDetected(int type) throws SQLException
检索是否可以通过调用方法ResultSet.rowUpdated
检测到可见行更新。- 参数
-
type
-ResultSet
型; 之一ResultSet.TYPE_FORWARD_ONLY
,ResultSet.TYPE_SCROLL_INSENSITIVE
,或ResultSet.TYPE_SCROLL_SENSITIVE
- 结果
-
true
如果结果集类型检测到更改; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.2
-
deletesAreDetected
boolean deletesAreDetected(int type) throws SQLException
检索是否可以通过调用方法ResultSet.rowDeleted
检测到可见行删除。 如果方法deletesAreDetected
返回false
,则意味着删除的行将从结果集中删除。- 参数
-
type
-ResultSet
类型; 之一ResultSet.TYPE_FORWARD_ONLY
,ResultSet.TYPE_SCROLL_INSENSITIVE
,或ResultSet.TYPE_SCROLL_SENSITIVE
- 结果
-
true
如果由给定的结果集类型检测到删除; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.2
-
insertsAreDetected
boolean insertsAreDetected(int type) throws SQLException
检索是否通过调用方法ResultSet.rowInserted
检测到可见行插入。- 参数
-
type
-ResultSet
型; 之一ResultSet.TYPE_FORWARD_ONLY
,ResultSet.TYPE_SCROLL_INSENSITIVE
,或ResultSet.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_OBJECT
,STRUCT
,或DISTINCT
。只返回匹配目录,模式,类型名称和类型条件的类型。 他们被下令
DATA_TYPE
,TYPE_CAT
,TYPE_SCHEM
和TYPE_NAME
。 type name参数可能是一个完全限定名称。 在这种情况下,目录和schemaPattern参数将被忽略。每个类型的描述都有以下列:
- TYPE_CAT字符串
=>
该类型的目录(可能是null
) - TYPE_SCHEM字符串
=>
类型的模式(可以是null
) - TYPE_NAME字符串
=>
类型名称 - CLASS_NAME String
=>
Java类名 - DATA_TYPE int
=>
java.sql.Types中定义的类型值。 JAVA_OBJECT,STRUCT或DISTINCT之一 - 备注字符串
=>
对类型的解释性注释 - BASE_TYPE short
=>
DISTINCT类型的源类型的类型代码或实现java.sql.Types中定义的结构化类型的SELF_REFERENCING_COLUMN的用户生成的引用类型的类型(null
如果DATA_TYPE不是DISTINCT或不是STRUCT与null
REFERENCE_GENERATION = USER_DEFINED)
注意:如果驱动程序不支持UDT,则返回空结果集。
- 参数
-
catalog
- 目录名称; 必须匹配存储在数据库中的目录名称; “”检索没有目录的那些;null
表示目录名称不应用于缩小搜索范围 -
schemaPattern
- 模式模式名称; 必须匹配存储在数据库中的模式名称; “”检索没有模式的那些;null
意味着不应该使用模式名称来缩小搜索范围 -
typeNamePattern
- 类型名称模式; 必须匹配存储在数据库中的类型名称; 可能是一个完全合格的名称 -
types
- 要包含的用户定义类型(JAVA_OBJECT,STRUCT或DISTINCT)的列表;null
返回所有类型 - 结果
-
ResultSet
对象,其中每行描述一个UDT - 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.2
- 另请参见:
-
getSearchStringEscape()
- TYPE_CAT字符串
-
getConnection
Connection getConnection() throws SQLException
检索生成此元数据对象的连接。- 结果
- 生成此元数据对象的连接
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.2
-
supportsSavepoints
boolean supportsSavepoints() throws SQLException
检索此数据库是否支持保存点。- 结果
-
true
如果保存点被支持; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.4
-
supportsNamedParameters
boolean supportsNamedParameters() throws SQLException
检索此数据库是否支持可调用语句的命名参数。- 结果
-
true
如果命名参数被支持; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.4
-
supportsMultipleOpenResults
boolean supportsMultipleOpenResults() throws SQLException
检索是否有可能具有多个ResultSet
从返回的对象CallableStatement
对象同时进行。- 结果
-
true
如果一个CallableStatement
对象可以同时返回多个ResultSet
对象; 否则为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的超类型信息。 type name参数可能是一个完全限定名称。 当提供的UDT名称是完全限定名称时,将忽略catalog和schemaPattern参数。
如果UDT没有直接超类型,那么它不在这里列出。 该方法返回的一行
ResultSet
对象描述了指定的UDT和一个直接超类型。 一行有以下列:- TYPE_CAT字符串
=>
UDT的目录(可能是null
) - TYPE_SCHEM字符串
=>
UDT的模式(可以是null
) - TYPE_NAME字符串
=>
UDT的类型名称 - SUPERTYPE_CAT字符串
=>
直接超类型的目录(可能是null
) - SUPERTYPE_SCHEM字符串
=>
直接超类型的模式(可能是null
) - SUPERTYPE_NAME字符串
=>
直接超类型的名称
注意:如果驱动程序不支持类型层次结构,则返回空结果集。
- 参数
-
catalog
- 目录名称; “”检索没有目录的那些;null
表示从选择标准中删除目录名称 -
schemaPattern
- 模式名称模式; “”检索没有模式的那些 -
typeNamePattern
- 一个UDT名称模式; 可能是一个完全合格的名称 - 结果
-
一个
ResultSet
对象,其中一行提供有关指定UDT的信息 - 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.4
- 另请参见:
-
getSearchStringEscape()
- TYPE_CAT字符串
-
getSuperTables
ResultSet getSuperTables(String catalog, String schemaPattern, String tableNamePattern) throws SQLException
检索此数据库中特定模式中定义的表层次结构的描述。仅返回与目录,模式和表名称匹配的表的超级信息。 表名称参数可能是完全限定名称,在这种情况下,将忽略catalog和schemaPattern参数。 如果表没有超级表,则不在此处列出。 必须在与子表相同的目录和模式中定义超级。 因此,该类型描述不需要包含该信息为supertable。
每个类型的描述都有以下列:
- TABLE_CAT字符串
=>
该类型的目录(可能是null
) - TABLE_SCHEM字符串
=>
类型的模式(可为null
) - TABLE_NAME字符串
=>
类型名称 - SUPERTABLE_NAME字符串
=>
的直接超类型的名称
注意:如果驱动程序不支持类型层次结构,则返回空结果集。
- 参数
-
catalog
- 目录名称; “”检索没有目录的那些;null
表示从选择条件中删除目录名称 -
schemaPattern
- 模式名称模式; “”检索没有模式的那些 -
tableNamePattern
- 表名称模式; 可能是一个完全合格的名称 - 结果
-
一个
ResultSet
对象,其中每行是一个类型描述 - 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.4
- 另请参见:
-
getSearchStringEscape()
- TABLE_CAT字符串
-
getAttributes
ResultSet getAttributes(String catalog, String schemaPattern, String typeNamePattern, String attributeNamePattern) throws SQLException
检索给定模式和目录中可用的用户定义类型(UDT)给定类型的给定属性的描述。仅针对与目录,模式,类型和属性名称标准匹配的UDT的属性返回说明。 他们被下令
TYPE_CAT
,TYPE_SCHEM
,TYPE_NAME
和ORDINAL_POSITION
。 此描述不包含继承的属性。返回的
ResultSet
对象具有以下列:- TYPE_CAT字符串
=>
类型目录(可能为null
) - TYPE_SCHEM字符串
=>
类型模式(可以是null
) - TYPE_NAME字符串
=>
类型名称 - ATTR_NAME字符串
=>
属性名称 - DATA_TYPE int
=>
属性类型来自java.sql.Types的SQL类型 - ATTR_TYPE_NAME字符串
=>
数据源相关类型名称。 对于UDT,类型名称是完全限定的。 对于REF,类型名称是完全限定的,并且表示引用类型的目标类型。 - ATTR_SIZE int
=>
列大小。 对于char或date类型,这是最大字符数; 对于数字或十进制类型,这是精度。 - DECIMAL_DIGITS int
=>
小数位数。 对于DECIMAL_DIGITS不适用的数据类型,返回空值。 - NUM_PREC_RADIX int
=>
基数(通常为10或2) - NULLABLE int
=>
是否允许NULL- attributeNoNulls - 可能不允许NULL值
- attributeNullable - 绝对允许NULL值
- attributeNullableUnknown - 可空性未知
- 备注字符串
=>
注释描述列(可能为null
) - ATTR_DEF字符串
=>
默认值(可能为null
) - 未使用SQL_DATA_TYPE int
=>
- SQL_DATETIME_SUB int
=>
未使用 - CHAR_OCTET_LENGTH int
=>
用于char类型列中最大字节数 - ORDINAL_POSITION int
=>
UDT属性的索引(从1开始) - IS_NULLABLE字符串
=>
ISO规则用于确定属性的可空性。- YES ---如果属性可以包含NULL
- 否---如果属性不能包含NULL
- 空字符串---如果属性的可空性是未知的
- SCOPE_CATALOG字符串
=>
作为参考属性范围的表目录(如果DATA_TYPE不是REF,null
) - SCOPE_SCHEMA字符串
=>
作为参考属性范围的表的模式(如果DATA_TYPE不是REF,null
) - SCOPE_TABLE字符串
=>
作为参考属性范围的表名(如果DATA_TYPE不是REF,null
) - SOURCE_DATA_TYPE short
=>
不同类型或用户生成的引用类型的源类型,java.sql.Types中的SQL类型(如果DATA_TYPE不是DISTINCT或用户生成的REF,null
)
- 参数
-
catalog
- 目录名称; 必须匹配存储在数据库中的目录名称; “”检索没有目录的那些;null
表示目录名称不应用于缩小搜索范围 -
schemaPattern
- 模式名称模式; 必须匹配存储在数据库中的模式名称; “”检索没有模式的那些;null
意味着不应该使用模式名称来缩小搜索范围 -
typeNamePattern
- 类型名称模式; 必须匹配存储在数据库中的类型名称 -
attributeNamePattern
- 属性名称模式; 必须匹配在数据库中声明的属性名称 - 结果
-
一个
ResultSet
对象,其中每行是属性描述 - 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.4
- 另请参见:
-
getSearchStringEscape()
- TYPE_CAT字符串
-
supportsResultSetHoldability
boolean supportsResultSetHoldability(int holdability) throws SQLException
检索此数据库是否支持给定的结果集保持性。- 参数
-
holdability
- 以下常数之一:ResultSet.HOLD_CURSORS_OVER_COMMIT
或ResultSet.CLOSE_CURSORS_AT_COMMIT
- 结果
-
true
如果是的话; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.4
- 另请参见:
-
Connection
-
getResultSetHoldability
int getResultSetHoldability() throws SQLException
检索ResultSet
对象的数据库的默认保持ResultSet
。- 结果
-
默认保持性;
ResultSet.HOLD_CURSORS_OVER_COMMIT
或ResultSet.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
;false
如果更新直接进行了LOB - 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.4
-
supportsStatementPooling
boolean supportsStatementPooling() throws SQLException
检索此数据库是否支持语句池。- 结果
-
true
如果是的话 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.4
-
getRowIdLifetime
RowIdLifetime getRowIdLifetime() throws SQLException
指示此数据源是否支持SQLROWID
类型,以及RowId
对象保持有效的生命周期。- 结果
-
表示生命的状态为
RowId
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.6
-
getSchemas
ResultSet getSchemas(String catalog, String schemaPattern) throws SQLException
检索此数据库中可用的模式名称。 结果按TABLE_CATALOG
和TABLE_SCHEM
。模式列为:
- TABLE_SCHEM字符串
=>
模式名称 - TABLE_CATALOG字符串
=>
目录名称(可能为null
)
- 参数
-
catalog
- 目录名称; 必须匹配存储在数据库中的目录名称;“”检索没有目录的目录; null表示目录名称不应用于缩小搜索范围。 -
schemaPattern
- 模式名称; 必须匹配存储在数据库中的模式名称; null表示模式名称不应用于缩小搜索范围。 - 结果
-
一个
ResultSet
对象,其中每一行都是模式描述 - 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.6
- 另请参见:
-
getSearchStringEscape()
- TABLE_SCHEM字符串
-
supportsStoredFunctionsUsingCallSyntax
boolean supportsStoredFunctionsUsingCallSyntax() throws SQLException
检索此数据库是否支持使用存储过程转义语法调用用户定义或供应商功能。- 结果
-
true
如果是的话; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.6
-
autoCommitFailureClosesAllResultSets
boolean autoCommitFailureClosesAllResultSets() throws SQLException
检索一个SQLException
而autoCommit是true
表示所有打开的ResultSet是关闭的,即使是可保留的。 当自动提交为SQLException
时出现true
,由供应商决定,JDBC驱动程序是否使用提交操作,回滚操作或既不执行提交也不回滚。 这种差异的潜在结果是可否保存的ResultSet是否关闭。- 结果
-
true
如果是的话; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.6
-
getClientInfoProperties
ResultSet getClientInfoProperties() throws SQLException
检索驱动程序支持的客户端信息属性的列表。 结果集包含以下列- NAME字符串
=>
客户端信息属性的名称 - MAX_LEN int
=>
属性值的最大长度 - DEFAULT_VALUE字符串
=>
属性的默认值 - DESCRIPTION字符串
=>
属性的描述。 这通常包含有关数据库中存储该属性的信息。
ResultSet
按NAME列排序- 结果
-
一个
ResultSet
对象; 每行都是支持的客户端信息属性 - 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.6
- NAME字符串
-
getFunctions
ResultSet getFunctions(String catalog, String schemaPattern, String functionNamePattern) throws SQLException
检索给定目录中可用的系统和用户功能的描述。只返回与模式和函数名称标准相匹配的系统和用户函数说明。 他们被下令
FUNCTION_CAT
,FUNCTION_SCHEM
,FUNCTION_NAME
和SPECIFIC_ NAME
。每个功能描述都有以下列:
- FUNCTION_CAT字符串
=>
功能目录(可能为null
) - FUNCTION_SCHEM字符串
=>
函数模式(可能是null
) - FUNCTION_NAME字符串
=>
函数名。 这是用于调用该函数的名称 - 备注字符串
=>
对功能的解释性注释 - FUNCTION_TYPE短
=>
种功能:- functionResultUnknown - 无法确定是否返回值或表
- functionNoTable - 不返回表
- functionReturnsTable - 返回一个表
- SPECIFIC_NAME字符串
=>
在其模式中唯一标识此函数的名称。 这是一个用户指定的,或DBMS生成的名称,可能与FUNCTION_NAME
不同,例如具有过载功能
用户可能没有执行
getFunctions
返回的任何功能的getFunctions
- 参数
-
catalog
- 目录名称; 必须匹配存储在数据库中的目录名称; “”检索没有目录的那些;null
表示目录名称不应用于缩小搜索范围 -
schemaPattern
- 模式名称模式; 必须匹配存储在数据库中的模式名称; “”检索没有模式的那些;null
表示不应该使用模式名称来缩小搜索范围 -
functionNamePattern
- 函数名称模式; 必须匹配存储在数据库中的函数名称 - 结果
-
ResultSet
- 每行是一个函数描述 - 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.6
- 另请参见:
-
getSearchStringEscape()
- FUNCTION_CAT字符串
-
getFunctionColumns
ResultSet getFunctionColumns(String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern) throws SQLException
检索给定目录的系统或用户功能参数和返回类型的描述。仅返回与模式,函数和参数名称标准相匹配的描述。 他们被下令
FUNCTION_CAT
,FUNCTION_SCHEM
,FUNCTION_NAME
和SPECIFIC_ NAME
。 在这里,返回值(如果有的话)是第一个。 接下来是呼叫顺序中的参数说明。 列描述按照列号顺序。ResultSet
中的每一行是一个参数描述,列描述或返回类型描述,具有以下字段:- FUNCTION_CAT字符串
=>
功能目录(可能为null
) - FUNCTION_SCHEM字符串
=>
函数模式(可以是null
) - FUNCTION_NAME字符串
=>
函数名。 这是用于调用该函数的名称 - COLUMN_NAME字符串
=>
列/参数名称 - COLUMN_TYPE Short
=>
种列/参数:- functionColumnUnknown - 没人知道
- functionColumnIn - IN参数
- functionColumnInOut - INOUT参数
- functionColumnOut - OUT参数
- functionColumnReturn - 函数返回值
- functionColumnResult - 表示参数或列是
ResultSet
的列
- DATA_TYPE int
=>
java.sql.Types中的SQL类型 - TYPE_NAME字符串
=>
SQL类型名称,对于UDT类型,类型名称是完全限定的 - PRECISION int
=>
精度 - LENGTH int
=>
以字节为单位的数据长度 - SCALE short
=>
scale - 对于SCALE不适用的数据类型,返回null。 - RADIX短
=>
基数 - NULLABLE short
=>
可以包含NULL。- functionNoNulls - 不允许NULL值
- functionNullable - 允许NULL值
- functionNullableUnknown - 可空性未知
- 备注字符串
=>
注释描述列/参数 - CHAR_OCTET_LENGTH int
=>
二进制和基于字符的参数或列的最大长度。 对于任何其他数据类型,返回的值为NULL - ORDINAL_POSITION int
=>
序数位置,从1开始,用于输入和输出参数。 如果此行描述函数的返回值,则返回值为0。 对于结果集列,它是从1开始的结果集中的列的顺序位置。 - IS_NULLABLE字符串
=>
ISO规则用于确定参数或列的可空性。- YES ---如果参数或列可以包含NULL
- 否---如果参数或列不能包含NULL
- 空字符串---如果参数或列的可空性是未知的
- SPECIFIC_NAME字符串
=>
在其模式中唯一标识此函数的名称。 这是一个用户指定的或DBMS生成的名称,可能与FUNCTION_NAME
不同,例如具有过载功能
PRECISION列表示给定参数或列的指定列大小。 对于数值数据,这是最大精度。 对于字符数据,这是字符长度。 对于datetime数据类型,这是String表示形式的长度(假定分数秒分量的最大允许精度)。 对于二进制数据,这是以字节为单位的长度。 对于ROWID数据类型,这是以字节为单位的长度。 对于列大小不适用的数据类型,返回空值。
- 参数
-
catalog
- 目录名称; 必须匹配存储在数据库中的目录名称; “”检索没有目录的那些;null
表示目录名称不应用于缩小搜索范围 -
schemaPattern
- 模式名称模式; 必须匹配存储在数据库中的模式名称; “”检索没有模式的那些;null
意味着不应该使用模式名称来缩小搜索范围 -
functionNamePattern
- 过程名称模式; 必须匹配存储在数据库中的函数名称 -
columnNamePattern
- 参数名称模式; 必须匹配存储在数据库中的参数或列名称 - 结果
-
ResultSet
- 每行描述用户函数参数,列或返回类型 - 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.6
- 另请参见:
-
getSearchStringEscape()
- FUNCTION_CAT字符串
-
getPseudoColumns
ResultSet getPseudoColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException
检索指定目录和模式中给定表中可用的伪列或隐藏列的描述。 伪列或隐藏列可能不总是存储在表中,并且在ResultSet中不可见,除非它们在查询的最外面的SELECT列表中指定。 伪列或隐藏列可能不一定能够被修改。 如果没有伪列或隐藏列,则返回一个空的ResultSet。仅返回与目录,模式,表和列名称标准相匹配的列描述。 他们被下令
TABLE_CAT
,TABLE_SCHEM
,TABLE_NAME
和COLUMN_NAME
。每列描述具有以下列:
- TABLE_CAT字符串
=>
表目录(可能为null
) - TABLE_SCHEM字符串
=>
表模式(可以是null
) - TABLE_NAME字符串
=>
表名 - COLUMN_NAME字符串
=>
列名称 - DATA_TYPE int
=>
java.sql.Types中的SQL类型 - COLUMN_SIZE int
=>
列大小。 - DECIMAL_DIGITS int
=>
小数位数。 对于DECIMAL_DIGITS不适用的数据类型,返回空值。 - NUM_PREC_RADIX int
=>
基数(通常为10或2) - COLUMN_USAGE字符串
=>
列的允许使用。 返回的值将对应于由PseudoColumnUsage.name()
返回的枚举名称 - 备注字符串
=>
注释描述列(可以是null
) - CHAR_OCTET_LENGTH int
=>
用于char类型列中最大字节数 - IS_NULLABLE字符串
=>
ISO规则用于确定列的可空性。- YES ---如果列可以包含NULL
- 否---如果列不能包含NULL
- 空字符串---如果列的可空性是未知的
COLUMN_SIZE列指定给定列的列大小。 对于数值数据,这是最大精度。 对于字符数据,这是字符长度。 对于datetime数据类型,这是String表示形式的长度(假定分数秒分量的最大允许精度)。 对于二进制数据,这是以字节为单位的长度。 对于ROWID数据类型,这是以字节为单位的长度。 对于列大小不适用的数据类型,返回空值。
- 参数
-
catalog
- 目录名称; 必须匹配存储在数据库中的目录名称; “”检索没有目录的那些;null
表示目录名称不应用于缩小搜索范围 -
schemaPattern
- 模式名称模式; 必须匹配存储在数据库中的模式名称; “”检索没有模式的那些;null
意味着不应该使用模式名称来缩小搜索范围 -
tableNamePattern
- 表名模式; 必须匹配存储在数据库中的表名称 -
columnNamePattern
- 列名称模式; 必须匹配存储在数据库中的列名称 - 结果
-
ResultSet
- 每行都是列描述 - 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.7
- 另请参见:
-
PseudoColumnUsage
- TABLE_CAT字符串
-
generatedKeyAlwaysReturned
boolean generatedKeyAlwaysReturned() throws SQLException
检索如果为自动生成的密钥列指定的列名称或索引有效并且语句成功,将始终返回生成的密钥。 返回的密钥可能基于或不基于自动生成的密钥的列。 有关其他详细信息,请参阅JDBC驱动程序文档- 结果
-
true
如果是的话; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.7
-
getMaxLogicalLobSize
default long getMaxLogicalLobSize() throws SQLException
检索此数据库允许LOB
的逻辑大小的最大字节数。默认实现将返回
0
- 结果
- 允许的最大字节数; 零的结果意味着没有限制或限制是不知道的
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.8
-
supportsRefCursors
default boolean supportsRefCursors() throws SQLException
检索此数据库是否支持REF CURSOR。默认实现将返回
false
- 结果
-
true
如果这个数据库支持REF CURSOR; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 1.8
-
supportsSharding
default boolean supportsSharding() throws SQLException
检索此数据库是否支持分片。- 实现要求:
-
默认实现将返回
false
- 结果
-
true
如果这个数据库支持分片; 否则为false
- 异常
-
SQLException
- 如果发生数据库访问错误 - 从以下版本开始:
- 9
-
-