- 所有超级接口:
-
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之类的名称。在模式字符串中,"%"表示匹配任意长度的子字符串,"_"表示匹配任何一个字符。仅返回与搜索模式匹配的元数据条目。如果搜索模式参数设置为null
,则该参数的条件将从搜索中删除。
- 自版本:
- 1.1
-
Field Summary
Modifier and TypeFieldDescriptionstatic final short
表示可能不允许NULL
值。static final short
表示绝对允许NULL
值。static final short
表示是否允许NULL
值未知。static final int
表示最佳行标识符不是伪列。static final int
表示最佳行标识符是伪列。static final int
表示最佳行标识符的范围是当前会话的其余部分。static final int
表示最佳行标识符的范围非常临时,仅在使用行时持续。static final int
表示最佳行标识符的范围是当前事务的其余部分。static final int
表示最佳行标识符可能是伪列,也可能不是。static final int
表示列可能不允许NULL
值。static final int
表示列绝对允许NULL
值。static final int
表示列的可空性未知。static final int
表示参数或列是输入参数。static final int
表示参数或列是INOUT参数。static final int
表示参数或列是输出参数。static final int
表示参数或列是结果集中的列。static final int
表示参数或列的类型未知。static final int
表示不允许NULL
值。static final int
表示函数不返回表。static final int
表示允许NULL
值。static final int
表示是否允许NULL
值未知。static final int
表示不知道函数返回结果还是表。static final int
表示参数或列是返回值。static final int
表示函数返回表。static final int
对于列UPDATE_RULE
,表示当主键更新时,外键(导入键)将更改以与之一致。static final int
表示可延迟性。static final int
表示可延迟性。static final int
对于列UPDATE_RULE
和DELETE_RULE
,表示如果主键已被导入,则不能更新或删除。static final int
表示可延迟性。static final int
对于列UPDATE_RULE
,表示如果主键已被另一张表作为外键导入,则不能更新主键。static final int
对于列UPDATE_RULE
和DELETE_RULE
,表示如果主键被更新或删除,则外键(导入键)将设置为默认值。static final int
对于列UPDATE_RULE
和DELETE_RULE
,表示当主键被更新或删除时,外键(导入键)将更改为NULL
。static final int
表示列存储输入参数。static final int
表示列存储INOUT参数。static final int
表示列存储输出参数。static final int
表示列存储结果。static final int
表示列存储返回值。static final int
表示列的类型未知。static final int
表示不允许NULL
值。static final int
表示过程不返回结果。static final int
表示允许NULL
值。static final int
表示是否允许NULL
值未知。static final int
表示不知道过程是否返回结果。static final int
表示过程返回结果。static final int
方法DatabaseMetaData.getSQLStateType
的可能返回值,用于指示方法SQLException.getSQLState
返回的值是否为SQLSTATE值。static final int
方法DatabaseMetaData.getSQLStateType
的可能返回值,用于指示方法SQLException.getSQLState
返回的值是否为SQL99 SQLSTATE值。static final int
方法DatabaseMetaData.getSQLStateType
的可能返回值,用于指示方法SQLException.getSQLState
返回的值是否为X/Open(现在称为Open Group)SQL CLI SQLSTATE值。static final short
表示此表索引是聚集索引。static final short
表示此表索引是散列索引。static final short
表示此表索引不是聚集索引、散列索引或表统计信息;它是其他内容。static final short
表示此列包含与表的索引描述一起返回的表统计信息。static final int
表示此数据类型不允许NULL
值。static final int
表示此数据类型允许NULL
值。static final int
表示不知道此数据类型是否允许NULL
值。static final int
表示此数据类型只能在不使用LIKE
谓词的WHERE
搜索子句中使用。static final int
表示此数据类型只能在使用LIKE
谓词的WHERE
搜索子句中使用。static final int
表示不支持此类型的WHERE
搜索子句。static final int
表示所有WHERE
搜索子句都可以基于此类型。static final int
表示此版本列不是伪列。static final int
表示此版本列是伪列。static final int
表示此版本列可能是伪列,也可能不是。 -
Method Summary
Modifier and TypeMethodDescriptionboolean
检索当前用户是否可以调用方法getProcedures
返回的所有过程。boolean
检索当前用户是否可以在SELECT
语句中使用方法getTables
返回的所有表。boolean
检索当autoCommit为true
时,SQLException
是否表示所有打开的ResultSet都已关闭,即使是可保持的ResultSet。boolean
检索事务中的数据定义语句是否强制事务提交。boolean
检索此数据库是否忽略事务中的数据定义语句。boolean
deletesAreDetected
(int type) 检索是否可以通过调用方法ResultSet.rowDeleted
检测到可见行删除。boolean
检索方法getMaxRowSize
的返回值是否包括SQL数据类型LONGVARCHAR
和LONGVARBINARY
。boolean
检索如果指定的列名或索引为自动生成的键列有效且语句成功,则是否始终返回生成的键。getAttributes
(String catalog, String schemaPattern, String typeNamePattern, String attributeNamePattern) 检索给定模式和目录中可用的用户定义类型(UDT)的给定类型的给定属性的描述。getBestRowIdentifier
(String catalog, String schema, String table, int scope, boolean nullable) 检索表的最佳列集,用于唯一标识行。检索此数据库中可用的目录名称。检索此数据库用作目录和表名之间分隔符的String
。检索数据库供应商对"目录"的首选术语。检索驱动程序支持的客户端信息属性列表。getColumnPrivileges
(String catalog, String schema, String table, String columnNamePattern) 检索表列的访问权限描述。getColumns
(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) 检索指定目录中可用的表列的描述。检索生成此元数据对象的连接。getCrossReference
(String parentCatalog, String parentSchema, String parentTable, String foreignCatalog, String foreignSchema, String foreignTable) 检索给定外键表中引用父表的主键或表示父表唯一约束的列的外键列的描述(可以是相同表或不同表)。int
检索底层数据库的主要版本号。int
检索底层数据库的次要版本号。检索此数据库产品的名称。检索此数据库产品的版本号。int
检索此数据库的默认事务隔离级别。int
检索此JDBC驱动程序的主要版本号。int
检索此JDBC驱动程序的次要版本号。检索此JDBC驱动程序的名称。检索此JDBC驱动程序的版本号作为String
。getExportedKeys
(String catalog, String schema, String table) 检索引用给定表的主键列的外键列的描述(表导出的外键)。检索在未引用标识符名称中可以使用的所有“额外”字符(超出a-z、A-Z、0-9和_)。getFunctionColumns
(String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern) 检索给定目录的系统或用户函数参数和返回类型的描述。getFunctions
(String catalog, String schemaPattern, String functionNamePattern) 检索给定目录中可用的系统和用户函数的描述。检索用于引用SQL标识符的字符串。getImportedKeys
(String catalog, String schema, String table) 检索被给定表的外键列引用的主键列的描述(表导入的主键)。getIndexInfo
(String catalog, String schema, String table, boolean unique, boolean approximate) 检索给定表的索引和统计信息的描述。int
检索此驱动程序的主要JDBC版本号。int
检索此驱动程序的次要JDBC版本号。int
检索此数据库允许在内联二进制文字中的十六进制字符的最大数量。int
检索此数据库允许在目录名称中的字符的最大数量。int
检索此数据库允许在字符文字中的字符的最大数量。int
检索此数据库允许在列名称中的字符的最大数量。int
检索此数据库允许在GROUP BY
子句中的列的最大数量。int
检索此数据库允许在索引中的列的最大数量。int
检索此数据库允许在ORDER BY
子句中的列的最大数量。int
检索此数据库允许在SELECT
列表中的列的最大数量。int
检索此数据库允许在表中的列的最大数量。int
检索此数据库允许的可能的最大并发连接数。int
检索此数据库允许在游标名称中的字符的最大数量。int
检索此数据库允许用于索引的最大字节数,包括索引的所有部分。default long
检索此数据库允许用于LOB
的逻辑大小的最大字节数。int
检索此数据库允许在过程名称中的字符的最大数量。int
检索此数据库允许在单行中的最大字节数。int
检索此数据库允许在模式名称中的字符的最大数量。int
检索此数据库允许在SQL语句中的最大字符数。int
检索此数据库中可以同时打开的活动语句的最大数量。int
检索此数据库允许在表名称中的字符的最大数量。int
检索此数据库允许在SELECT
语句中的表的最大数量。int
检索此数据库允许在用户名称中的字符的最大数量。检索此数据库中可用的所有数学函数的逗号分隔列表。getPrimaryKeys
(String catalog, String schema, String table) 检索给定表的主键列的描述。getProcedureColumns
(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) 检索给定目录的存储过程参数和结果列的描述。getProcedures
(String catalog, String schemaPattern, String procedureNamePattern) 检索给定目录中可用的存储过程的描述。检索数据库供应商对“过程”的首选术语。getPseudoColumns
(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) 检索在指定目录和模式中给定表中可用的伪列或隐藏列的描述。int
检索ResultSet
对象的默认可保持性。指示此数据源是否支持SQLROWID
类型,以及RowId
对象保持有效的生存期。检索此数据库中可用的模式名称。getSchemas
(String catalog, String schemaPattern) 检索此数据库中可用的模式名称。检索数据库供应商对“模式”的首选术语。检索可用于转义通配符字符的字符串。检索所有此数据库中的SQL关键字的逗号分隔列表,这些关键字不是SQL:2003关键字。int
指示由SQLException.getSQLState
返回的SQLSTATE是否为X/Open(现在称为Open Group)SQL CLI或SQL:2003。检索此数据库中可用的所有字符串函数的逗号分隔列表。getSuperTables
(String catalog, String schemaPattern, String tableNamePattern) 检索在此数据库中特定模式中定义的表层次结构的描述。getSuperTypes
(String catalog, String schemaPattern, String typeNamePattern) 检索在此数据库中特定模式中定义的用户定义类型(UDT)层次结构的描述。检索此数据库中可用的所有系统函数的逗号分隔列表。getTablePrivileges
(String catalog, String schemaPattern, String tableNamePattern) 检索在目录中每个可用表的访问权限的描述。检索在给定目录中可用的表的描述。检索此数据库中可用的表类型。检索此数据库中可用的所有时间和日期函数的逗号分隔列表。检索此数据库支持的所有数据类型的描述。检索在特定模式中定义的用户定义类型(UDT)的描述。getURL()
检索此DBMS的URL。检索此数据库已知的用户名称。getVersionColumns
(String catalog, String schema, String table) 检索在更新行中的任何值更新时自动更新的表列的描述。boolean
insertsAreDetected
(int type) 通过调用方法ResultSet.rowInserted
检测是否可以检测到可见的行插入。boolean
检索目录是否出现在完全限定表名称的开头。boolean
检索此数据库是否处于只读模式。boolean
指示对LOB进行的更新是在副本上进行还是直接对LOB进行。boolean
检索此数据库是否支持NULL
和非NULL
值之间的连接为NULL
。boolean
检索NULL
值是否无论排序顺序都在末尾排序。boolean
检索NULL
值是否无论排序顺序都在开头排序。boolean
检索NULL
值是否高排序。boolean
检索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
检索此数据库是否将未引用的SQL标识符视为不区分大小写并将其存储为小写。boolean
检索此数据库是否将引用的SQL标识符视为不区分大小写并将其存储为小写。boolean
检索此数据库是否将未引用的SQL标识符视为不区分大小写并将其存储为混合大小写。boolean
检索此数据库是否将引用的SQL标识符视为不区分大小写并将其存储为混合大小写。boolean
检索此数据库是否将未引用的SQL标识符视为不区分大小写并将其存储为大写。boolean
检索此数据库是否将引用的SQL标识符视为不区分大小写并将其存储为大写。boolean
检索此数据库是否支持使用添加列的ALTER TABLE
。boolean
检索此数据库是否支持使用删除列的ALTER TABLE
。boolean
检索此数据库是否支持ANSI92入口级SQL语法。boolean
检索此数据库是否支持ANSI92完整SQL语法。boolean
检索此数据库是否支持ANSI92中级SQL语法。boolean
检索此数据库是否支持批量更新。boolean
检索目录名称是否可以在数据操作语句中使用。boolean
检索目录名称是否可以在索引定义语句中使用。boolean
检索目录名称是否可以在权限定义语句中使用。boolean
检索目录名称是否可以在过程调用语句中使用。boolean
检索目录名称是否可以在表定义语句中使用。boolean
检索此数据库是否支持列别名。boolean
检索此数据库是否支持JDBC标量函数CONVERT
用于将一个JDBC类型转换为另一个。boolean
supportsConvert
(int fromType, int toType) 检索此数据库是否支持JDBC标量函数CONVERT
,用于在JDBC类型fromType和toType之间进行转换。boolean
检索此数据库是否支持ODBC核心SQL语法。boolean
检索此数据库是否支持相关子查询。boolean
检索此数据库是否支持在事务中同时支持数据定义和数据操作语句。boolean
检索此数据库是否仅支持在事务中支持数据操作语句。boolean
检索此数据库是否支持表关联名称,且限制这些名称与表名称不同。boolean
检索此数据库是否支持在ORDER BY
列表中使用表达式。boolean
检索此数据库是否支持ODBC扩展SQL语法。boolean
检索此数据库是否支持完全嵌套外连接。boolean
检索是否可以在执行语句后检索自动生成的键。boolean
检索此数据库是否支持某种形式的GROUP BY
子句。boolean
检索此数据库是否支持在GROUP BY
子句中使用未包含在SELECT
语句中的列,前提是SELECT
语句中的所有列都包含在GROUP BY
子句中。boolean
检索此数据库是否支持在GROUP BY
子句中使用未包含在SELECT
语句中的列。boolean
检索此数据库是否支持SQL完整性增强功能。boolean
检索此数据库是否支持指定LIKE
转义子句。boolean
检索此数据库是否提供对外连接的有限支持。boolean
检索此数据库是否支持ODBC最小SQL语法。boolean
检索此数据库是否将未引用的SQL标识符视为区分大小写,并因此以混合大小写存储它们。boolean
检索此数据库是否将引用的SQL标识符视为区分大小写,并因此以混合大小写存储它们。boolean
检索是否可以从CallableStatement
对象中同时检索多个ResultSet
对象。boolean
检索此数据库是否支持从一次调用方法execute
中获取多个ResultSet
对象。boolean
检索此数据库是否允许同时打开多个事务(在不同连接上)。boolean
检索此数据库是否支持对可调用语句使用命名参数。boolean
检索此数据库中的列是否可以定义为非空。boolean
检索此数据库是否支持在提交后保持游标打开状态。boolean
检索此数据库是否支持在回滚后保持游标打开状态。boolean
检索此数据库是否支持在提交后保持语句打开状态。boolean
检索此数据库是否支持在回滚后保持语句打开状态。boolean
检索此数据库是否支持在ORDER BY
子句中使用未包含在SELECT
语句中的列。boolean
检索此数据库是否支持某种形式的外连接。boolean
检索此数据库是否支持定位DELETE
语句。boolean
检索此数据库是否支持定位UPDATE
语句。default boolean
检索此数据库是否支持REF CURSOR。boolean
supportsResultSetConcurrency
(int type, int concurrency) 检索此数据库是否支持给定的并发类型与给定的结果集类型的组合。boolean
supportsResultSetHoldability
(int holdability) 检索此数据库是否支持给定的结果集可保持性。boolean
supportsResultSetType
(int type) 检索此数据库是否支持给定的结果集类型。boolean
检索此数据库是否支持保存点。boolean
检索模式名称是否可以在数据操作语句中使用。boolean
检索模式名称是否可以在索引定义语句中使用。boolean
检索模式名称是否可以在权限定义语句中使用。boolean
检索模式名称是否可以在过程调用语句中使用。boolean
检索模式名称是否可以在表定义语句中使用。boolean
检索此数据库是否支持SELECT FOR UPDATE
语句。default boolean
检索此数据库是否支持分片。boolean
检索此数据库是否支持语句池。boolean
检索此数据库是否支持使用存储过程转义语法调用用户定义的或供应商函数。boolean
检索此数据库是否支持使用存储过程转义语法调用存储过程。boolean
检索此数据库是否支持在比较表达式中的子查询。boolean
检索此数据库是否支持在EXISTS
表达式中的子查询。boolean
检索此数据库是否支持在IN
表达式中的子查询。boolean
检索此数据库是否支持在定量表达式中的子查询。boolean
检索此数据库是否支持表关联名称。boolean
supportsTransactionIsolationLevel
(int level) 检索此数据库是否支持给定的事务隔离级别。boolean
检索此数据库是否支持事务。boolean
检索此数据库是否支持SQLUNION
。boolean
检索此数据库是否支持SQLUNION ALL
。boolean
updatesAreDetected
(int type) 检索是否可以通过调用方法ResultSet.rowUpdated
检测到可见行更新。boolean
检索此数据库是否为每个表使用一个文件。boolean
检索此数据库是否将表存储在本地文件中。Methods declared in interface java.sql.Wrapper
isWrapperFor, unwrap
-
Field Details
-
procedureResultUnknown
static final int procedureResultUnknown表示不知道该过程是否返回结果。方法
getProcedures
返回的ResultSet
对象中列PROCEDURE_TYPE
的可能值。- 参见:
-
procedureNoResult
static final int procedureNoResult表示该过程不返回结果。方法
getProcedures
返回的ResultSet
对象中列PROCEDURE_TYPE
的可能值。- 参见:
-
procedureReturnsResult
static final int procedureReturnsResult表示该过程返回结果。方法
getProcedures
返回的ResultSet
对象中列PROCEDURE_TYPE
的可能值。- 参见:
-
procedureColumnUnknown
static final int procedureColumnUnknown表示列的类型未知。方法
getProcedureColumns
返回的ResultSet
中列COLUMN_TYPE
的可能值。- 参见:
-
procedureColumnIn
static final int procedureColumnIn表示列存储输入参数。方法
getProcedureColumns
返回的ResultSet
中列COLUMN_TYPE
的可能值。- 参见:
-
procedureColumnInOut
static final int procedureColumnInOut表示列存储INOUT参数。方法
getProcedureColumns
返回的ResultSet
中列COLUMN_TYPE
的可能值。- 参见:
-
procedureColumnOut
static final int procedureColumnOut表示列存储OUT参数。方法
getProcedureColumns
返回的ResultSet
中列COLUMN_TYPE
的可能值。- 参见:
-
procedureColumnReturn
static final int procedureColumnReturn表示列存储返回值。方法
getProcedureColumns
返回的ResultSet
中列COLUMN_TYPE
的可能值。- 参见:
-
procedureColumnResult
static final int procedureColumnResult表示列存储结果。方法
getProcedureColumns
返回的ResultSet
中列COLUMN_TYPE
的可能值。- 参见:
-
procedureNoNulls
static final int procedureNoNulls表示不允许NULL
值。方法
getProcedureColumns
返回的ResultSet
对象中列NULLABLE
的可能值。- 参见:
-
procedureNullable
static final int procedureNullable表示允许NULL
值。在方法
getProcedureColumns
返回的ResultSet
对象中,NULLABLE
列的可能值。- 参见:
-
procedureNullableUnknown
static final int procedureNullableUnknown表示是否允许NULL
值是未知的。在方法
getProcedureColumns
返回的ResultSet
对象中,NULLABLE
列的可能值。- 参见:
-
columnNoNulls
static final int columnNoNulls表示该列可能不允许NULL
值。在方法
getColumns
返回的ResultSet
中,NULLABLE
列的可能值。- 参见:
-
columnNullable
static final int columnNullable表示该列绝对允许NULL
值。在方法
getColumns
返回的ResultSet
中,NULLABLE
列的可能值。- 参见:
-
columnNullableUnknown
static final int columnNullableUnknown表示列的可空性未知。在方法
getColumns
返回的ResultSet
中,NULLABLE
列的可能值。- 参见:
-
bestRowTemporary
static final int bestRowTemporary表示最佳行标识符的范围非常短暂,仅在使用行时存在。在方法
getBestRowIdentifier
返回的ResultSet
中,SCOPE
列的可能值。- 参见:
-
bestRowTransaction
static final int bestRowTransaction表示最佳行标识符的范围为当前事务的其余部分。在方法
getBestRowIdentifier
返回的ResultSet
中,SCOPE
列的可能值。- 参见:
-
bestRowSession
static final int bestRowSession表示最佳行标识符的范围为当前会话的其余部分。在方法
getBestRowIdentifier
返回的ResultSet
中,SCOPE
列的可能值。- 参见:
-
bestRowUnknown
static final int bestRowUnknown表示最佳行标识符可能是伪列,也可能不是。在方法
getBestRowIdentifier
返回的ResultSet
中,PSEUDO_COLUMN
列的可能值。- 参见:
-
bestRowNotPseudo
static final int bestRowNotPseudo表示最佳行标识符不是伪列。在方法
getBestRowIdentifier
返回的ResultSet
中,PSEUDO_COLUMN
列的可能值。- 参见:
-
bestRowPseudo
static final int bestRowPseudo表示最佳行标识符是伪列。在方法
getBestRowIdentifier
返回的ResultSet
中,PSEUDO_COLUMN
列的可能值。- 参见:
-
versionColumnUnknown
static final int versionColumnUnknown表示此版本列可能是伪列,也可能不是。在方法
getVersionColumns
返回的ResultSet
中,PSEUDO_COLUMN
列的可能值。- 参见:
-
versionColumnNotPseudo
static final int versionColumnNotPseudo表示此版本列不是伪列。在方法
getVersionColumns
返回的ResultSet
中,PSEUDO_COLUMN
列的可能值。- 参见:
-
versionColumnPseudo
static final int versionColumnPseudo表示此版本列是伪列。在方法
getVersionColumns
返回的ResultSet
中,PSEUDO_COLUMN
列的可能值。- 参见:
-
importedKeyCascade
static final int importedKeyCascade对于UPDATE_RULE
列,表示当主键更新时,外键(导入键)将被更改以与之一致。对于DELETE_RULE
列,表示当主键被删除时,导入该键的行将被删除。在方法
getImportedKeys
、getExportedKeys
和getCrossReference
返回的ResultSet
对象中,UPDATE_RULE
和DELETE_RULE
列的可能值。- 参见:
-
importedKeyRestrict
static final int importedKeyRestrict对于UPDATE_RULE
列,表示如果主键已被另一张表作为外键导入,则可能无法更新主键。对于DELETE_RULE
列,表示如果主键已被另一张表作为外键导入,则可能无法删除主键。在方法
getImportedKeys
、getExportedKeys
和getCrossReference
返回的ResultSet
对象中,UPDATE_RULE
和DELETE_RULE
列的可能值。- 参见:
-
importedKeySetNull
static final int importedKeySetNull对于UPDATE_RULE
和DELETE_RULE
列,表示当主键更新或删除时,外键(导入键)将更改为NULL
。在方法
getImportedKeys
、getExportedKeys
和getCrossReference
返回的ResultSet
对象中,UPDATE_RULE
和DELETE_RULE
列的可能值。- 参见:
-
importedKeyNoAction
static final int importedKeyNoAction对于UPDATE_RULE
和DELETE_RULE
列,表示如果主键已被导入,则无法更新或删除主键。在方法
getImportedKeys
、getExportedKeys
和getCrossReference
返回的ResultSet
对象中,UPDATE_RULE
和DELETE_RULE
列的可能值。- 参见:
-
importedKeySetDefault
static final int importedKeySetDefault对于UPDATE_RULE
和DELETE_RULE
列,表示如果主键更新或删除,则外键(导入键)将设置为默认值。在方法
getImportedKeys
、getExportedKeys
和getCrossReference
返回的ResultSet
对象中,UPDATE_RULE
和DELETE_RULE
列的可能值。- 参见:
-
importedKeyInitiallyDeferred
static final int importedKeyInitiallyDeferred表示可延迟性。请参阅SQL-92以获取定义。在方法
getImportedKeys
、getExportedKeys
和getCrossReference
返回的ResultSet
对象中,DEFERRABILITY
列的可能值。- 参见:
-
importedKeyInitiallyImmediate
static final int importedKeyInitiallyImmediate表示可延迟性。请参阅SQL-92以获取定义。在方法
getImportedKeys
、getExportedKeys
和getCrossReference
返回的ResultSet
对象中,DEFERRABILITY
列的可能值。- 参见:
-
importedKeyNotDeferrable
static final int importedKeyNotDeferrable表示可延迟性。请参阅SQL-92以获取定义。在方法
getImportedKeys
、getExportedKeys
和getCrossReference
返回的ResultSet
对象中,DEFERRABILITY
列的可能值。- 参见:
-
typeNoNulls
static final int typeNoNulls表示此数据类型不允许NULL
值。可能是由方法
getTypeInfo
返回的ResultSet
对象中NULLABLE
列的一个可能值。- 参见:
-
typeNullable
static final int typeNullable表示此数据类型允许NULL
值。可能是由方法
getTypeInfo
返回的ResultSet
对象中NULLABLE
列的一个可能值。- 参见:
-
typeNullableUnknown
static final int typeNullableUnknown表示不确定此数据类型是否允许NULL
值。可能是由方法
getTypeInfo
返回的ResultSet
对象中NULLABLE
列的一个可能值。- 参见:
-
typePredNone
static final int typePredNone表示此类型不支持WHERE
搜索子句。可能是由方法
getTypeInfo
返回的ResultSet
对象中SEARCHABLE
列的一个可能值。- 参见:
-
typePredChar
static final int typePredChar表示数据类型只能在使用LIKE
谓词的WHERE
搜索子句中使用。可能是由方法
getTypeInfo
返回的ResultSet
对象中SEARCHABLE
列的一个可能值。- 参见:
-
typePredBasic
static final int typePredBasic表示数据类型只能在不使用LIKE
谓词的WHERE
搜索子句中使用。可能是由方法
getTypeInfo
返回的ResultSet
对象中SEARCHABLE
列的一个可能值。- 参见:
-
typeSearchable
static final int typeSearchable表示所有WHERE
搜索子句都可以基于此类型。可能是由方法
getTypeInfo
返回的ResultSet
对象中SEARCHABLE
列的一个可能值。- 参见:
-
tableIndexStatistic
static final short tableIndexStatistic表示此列包含与表的索引描述一起返回的表统计信息。可能是由方法
getIndexInfo
返回的ResultSet
对象中TYPE
列的一个可能值。- 参见:
-
tableIndexClustered
static final short tableIndexClustered表示此表索引是一个聚集索引。可能是由方法
getIndexInfo
返回的ResultSet
对象中TYPE
列的一个可能值。- 参见:
-
tableIndexHashed
static final short tableIndexHashed表示此表索引是一个哈希索引。可能是由方法
getIndexInfo
返回的ResultSet
对象中TYPE
列的一个可能值。- 参见:
-
tableIndexOther
static final short tableIndexOther表示此表索引不是聚集索引、哈希索引或表统计信息;它是其他类型的索引。可能是由方法
getIndexInfo
返回的ResultSet
对象中TYPE
列的一个可能值。- 参见:
-
attributeNoNulls
static final short attributeNoNulls表示可能不允许NULL
值。可能是由方法
getAttributes
返回的ResultSet
对象中NULLABLE
列的一个可能值。- 参见:
-
attributeNullable
static final short attributeNullable表示绝对允许NULL
值。可能是由方法
getAttributes
返回的ResultSet
对象中NULLABLE
列的一个可能值。- 参见:
-
attributeNullableUnknown
static final short attributeNullableUnknown表示不确定是否允许NULL
值。可能是由方法
getAttributes
返回的ResultSet
对象中NULLABLE
列的一个可能值。- 参见:
-
sqlStateXOpen
static final int sqlStateXOpen方法DatabaseMetaData.getSQLStateType
的可能返回值,用于指示方法SQLException.getSQLState
返回的值是否为X/Open(现在称为Open Group)SQL CLI SQLSTATE值。- 自:
- 1.4
- 参见:
-
sqlStateSQL
static final int sqlStateSQL方法DatabaseMetaData.getSQLStateType
的可能返回值,用于指示方法SQLException.getSQLState
返回的值是否为SQLSTATE值。- 自:
- 1.6
- 参见:
-
sqlStateSQL99
static final int sqlStateSQL99方法DatabaseMetaData.getSQLStateType
的可能返回值,用于指示方法SQLException.getSQLState
返回的值是否为SQL99 SQLSTATE值。注意:此常量仅出于兼容性原因而保留。开发人员应该使用常量
sqlStateSQL
代替。- 自:
- 1.4
- 参见:
-
functionColumnUnknown
static final int functionColumnUnknown表示参数或列的类型未知。可能是由方法
getFunctionColumns
返回的ResultSet
对象中COLUMN_TYPE
列的一个可能值。- 参见:
-
functionColumnIn
static final int functionColumnIn表示参数或列是一个IN参数。可能是由方法
getFunctionColumns
返回的ResultSet
对象中COLUMN_TYPE
列的一个可能值。- 自:
- 1.6
- 参见:
-
functionColumnInOut
static final int functionColumnInOut表示参数或列是一个INOUT参数。可能是由方法
getFunctionColumns
返回的ResultSet
对象中COLUMN_TYPE
列的一个可能值。- 自:
- 1.6
- 参见:
-
functionColumnOut
static final int functionColumnOut表示参数或列是一个OUT参数。可能是由方法
getFunctionColumns
返回的ResultSet
对象中COLUMN_TYPE
列的一个可能值。- 自:
- 1.6
- 参见:
-
functionReturn
static final int functionReturn表示参数或列是一个返回值。可能是由方法
getFunctionColumns
返回的ResultSet
对象中COLUMN_TYPE
列的一个可能值。- 自:
- 1.6
- 参见:
-
functionColumnResult
static final int functionColumnResult表示参数或列是结果集中的一列。可能是由方法
getFunctionColumns
返回的ResultSet
对象中COLUMN_TYPE
列的一个可能值。- 自:
- 1.6
- 参见:
-
functionNoNulls
static final int functionNoNulls表示不允许NULL
值。可能是由方法
getFunctionColumns
返回的ResultSet
对象中NULLABLE
列的一个可能值。- 自:
- 1.6
- 参见:
-
functionNullable
static final int functionNullable表示允许NULL
值。在方法
getFunctionColumns
返回的ResultSet
对象中,NULLABLE
列的可能值。- 自从:
- 1.6
- 参见:
-
functionNullableUnknown
static final int functionNullableUnknown表示是否允许NULL
值是未知的。在方法
getFunctionColumns
返回的ResultSet
对象中,NULLABLE
列的可能值。- 自从:
- 1.6
- 参见:
-
functionResultUnknown
static final int functionResultUnknown表示不知道函数是返回结果还是表。在方法
getFunctions
返回的ResultSet
对象中,FUNCTION_TYPE
列的可能值。- 自从:
- 1.6
- 参见:
-
functionNoTable
static final int functionNoTable表示函数不返回表。在方法
getFunctions
返回的ResultSet
对象中,FUNCTION_TYPE
列的可能值。- 自从:
- 1.6
- 参见:
-
functionReturnsTable
static final int functionReturnsTable表示函数返回表。在方法
getFunctions
返回的ResultSet
对象中,FUNCTION_TYPE
列的可能值。- 自从:
- 1.6
- 参见:
-
-
Method Details
-
allProceduresAreCallable
检索当前用户是否可以调用方法getProcedures
返回的所有存储过程。- 返回:
-
如果可以,则返回
true
; 否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
allTablesAreSelectable
检索当前用户是否可以在SELECT
语句中使用方法getTables
返回的所有表。- 返回:
-
如果可以,则返回
true
; 否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getURL
检索此DBMS的URL。- 返回:
-
此DBMS的URL,如果无法生成则返回
null
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getUserName
检索此数据库中已知的用户名。- 返回:
- 数据库用户名
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
isReadOnly
检索此数据库是否处于只读模式。- 返回:
-
如果是,则返回
true
; 否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
nullsAreSortedHigh
检索NULL
值是否排序为高值。排序为高值意味着NULL
值在域中排序高于任何其他值。在升序排序中,如果此方法返回true
,NULL
值将出现在末尾。相比之下,方法nullsAreSortedAtEnd
指示NULL
值是否无论排序顺序如何都在末尾排序。- 返回:
-
如果是,则返回
true
; 否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
nullsAreSortedLow
检索NULL
值是否排序为低值。排序为低值意味着NULL
值在域中排序低于任何其他值。在升序排序中,如果此方法返回true
,NULL
值将出现在开头。相比之下,方法nullsAreSortedAtStart
指示NULL
值是否无论排序顺序如何都在开头排序。- 返回:
-
如果是,则返回
true
; 否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
nullsAreSortedAtStart
检索NULL
值是否无论排序顺序如何都在开头排序。- 返回:
-
如果是,则返回
true
; 否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
nullsAreSortedAtEnd
检索NULL
值是否无论排序顺序如何都在末尾排序。- 返回:
-
如果是,则返回
true
; 否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getDatabaseProductName
检索此数据库产品的名称。- 返回:
- 数据库产品名称
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getDatabaseProductVersion
检索此数据库产品的版本号。- 返回:
- 数据库产品版本号
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getDriverName
检索此JDBC驱动程序的名称。- 返回:
- JDBC驱动程序名称
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getDriverVersion
检索此JDBC驱动程序的版本号作为String
。- 返回:
- JDBC驱动程序版本号
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getDriverMajorVersion
int getDriverMajorVersion()检索此JDBC驱动程序的主要版本号。- 返回:
- JDBC驱动程序主要版本号
-
getDriverMinorVersion
int getDriverMinorVersion()检索此JDBC驱动程序的次要版本号。- 返回:
- JDBC驱动程序次要版本号
-
usesLocalFiles
检索此数据库是否将表存储在本地文件中。- 返回:
-
如果是,则返回
true
; 否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
usesLocalFilePerTable
检索此数据库是否为每个表使用一个文件。- 返回:
-
如果此数据库为每个表使用本地文件,则返回
true
; 否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsMixedCaseIdentifiers
检索此数据库是否将未引用的SQL标识符的混合大小写视为区分大小写,并因此以混合大小写存储它们。- 返回:
-
如果是,则返回
true
; 否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
storesUpperCaseIdentifiers
检索此数据库是否将未引用的SQL标识符的混合大小写视为不区分大小写,并以大写形式存储它们。- 返回:
-
如果是,则返回
true
; 否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
storesLowerCaseIdentifiers
检索此数据库是否将未引用的SQL标识符的混合大小写视为不区分大小写,并以小写形式存储它们。- 返回:
-
如果是,则返回
true
; 否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
storesMixedCaseIdentifiers
检索此数据库是否将未引用的SQL标识符的混合大小写视为不区分大小写,并以混合大小写形式存储它们。- 返回:
-
如果是,则返回
true
; 否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsMixedCaseQuotedIdentifiers
检索此数据库是否将引用的SQL标识符的混合大小写视为区分大小写,并因此以混合大小写存储它们。- 返回:
-
如果是,则返回
true
; 否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
storesUpperCaseQuotedIdentifiers
检索此数据库是否将引用的SQL标识符的混合大小写视为不区分大小写,并以大写形式存储它们。- 返回:
-
如果是,则返回
true
; 否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
storesLowerCaseQuotedIdentifiers
检索此数据库是否将引用的SQL标识符的混合大小写视为不区分大小写,并以小写形式存储它们。- 返回值:
-
true
如果是; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
storesMixedCaseQuotedIdentifiers
检索此数据库是否将混合大小写的带引号的SQL标识符视为不区分大小写并将它们存储为混合大小写。- 返回值:
-
true
如果是; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getIdentifierQuoteString
检索用于引用SQL标识符的字符串。如果不支持标识符引用,则此方法返回一个空格 " "。- 返回值:
- 引用字符串或空格(如果不支持引用)
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getSQLKeywords
检索此数据库中所有不是SQL:2003关键字的逗号分隔的关键字列表。- 返回值:
- 不是SQL:2003关键字的此数据库的关键字列表
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getNumericFunctions
检索此数据库中可用的逗号分隔的所有数学函数列表。这些是JDBC函数转义子句中使用的Open / Open CLI数学函数名称。- 返回值:
- 此数据库支持的数学函数列表
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getStringFunctions
检索此数据库中可用的逗号分隔的所有字符串函数列表。这些是JDBC函数转义子句中使用的Open Group CLI字符串函数名称。- 返回值:
- 此数据库支持的字符串函数列表
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getSystemFunctions
检索此数据库中可用的逗号分隔的所有系统函数列表。这些是JDBC函数转义子句中使用的Open Group CLI系统函数名称。- 返回值:
- 此数据库支持的系统函数列表
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getTimeDateFunctions
检索此数据库中可用的逗号分隔的所有时间和日期函数列表。- 返回值:
- 此数据库支持的时间和日期函数列表
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getSearchStringEscape
检索可用于转义通配符字符的字符串。这是可用于转义目录搜索参数中的 '_' 或 '%' 的字符串(因此使用通配符字符之一的模式)。'_' 字符表示任何单个字符;'%' 字符表示零个或多个字符的序列。
- 返回值:
- 用于转义通配符字符的字符串
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getExtraNameCharacters
检索可用于未带引号的标识符名称中的“额外”字符(超出 a-z、A-Z、0-9 和 _)的字符串。- 返回值:
- 包含额外字符的字符串
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsAlterTableWithAddColumn
检索此数据库是否支持使用ALTER TABLE
添加列。- 返回值:
-
true
如果是; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsAlterTableWithDropColumn
检索此数据库是否支持使用ALTER TABLE
删除列。- 返回值:
-
true
如果是; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsColumnAliasing
检索此数据库是否支持列别名。如果支持,可以使用 SQL AS 子句为计算列提供名称或根据需要为列提供别名。
- 返回值:
-
true
如果是; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
nullPlusNonNullIsNull
检索此数据库是否支持NULL
和非NULL
值之间的连接结果为NULL
。- 返回值:
-
true
如果是; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsConvert
检索此数据库是否支持将一个 JDBC 类型转换为另一个 JDBC 类型的 JDBC 标量函数CONVERT
。JDBC 类型是在java.sql.Types
中定义的通用 SQL 数据类型。- 返回值:
-
true
如果是; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsConvert
检索此数据库是否支持在 JDBC 类型 fromType 和 toType 之间进行转换的 JDBC 标量函数CONVERT
。JDBC 类型是在java.sql.Types
中定义的通用 SQL 数据类型。- 参数:
-
fromType
- 要转换的类型;来自类java.sql.Types
的类型代码之一 -
toType
- 要转换为的类型;来自类java.sql.Types
的类型代码之一 - 返回值:
-
true
如果是; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 参见:
-
supportsTableCorrelationNames
检索此数据库是否支持表关联名称。- 返回值:
-
true
如果是; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsDifferentTableCorrelationNames
检索当支持表关联名称时,它们是否限制为与表的名称不同。- 返回值:
-
true
如果是; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsExpressionsInOrderBy
检索此数据库是否支持在ORDER BY
列表中使用表达式。- 返回值:
-
true
如果是; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsGroupBy
检索此数据库是否支持某种形式的GROUP BY
子句。- 返回值:
-
true
如果是; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsGroupByBeyondSelect
检索此数据库是否支持在GROUP BY
子句中使用未包含在SELECT
语句中的列,前提是SELECT
语句中的所有列都包含在GROUP BY
子句中。- 返回值:
-
true
如果是; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsLikeEscapeClause
检索此数据库是否支持指定LIKE
转义子句。- 返回值:
-
true
如果是; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsMultipleResultSets
检索此数据库是否支持从单个对execute
方法的调用中获取多个ResultSet
对象。- 返回值:
-
true
如果是; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsMultipleTransactions
检索此数据库是否允许同时打开多个事务(在不同连接上)。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsNonNullableColumns
检索此数据库中的列是否可以定义为非空。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsMinimumSQLGrammar
检索此数据库是否支持ODBC最小SQL语法。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsCoreSQLGrammar
检索此数据库是否支持ODBC核心SQL语法。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsExtendedSQLGrammar
检索此数据库是否支持ODBC扩展SQL语法。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsANSI92EntryLevelSQL
检索此数据库是否支持ANSI92入门级SQL语法。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsANSI92IntermediateSQL
检索此数据库是否支持ANSI92中级SQL语法。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsANSI92FullSQL
检索此数据库是否支持ANSI92完整SQL语法。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsIntegrityEnhancementFacility
检索此数据库是否支持SQL完整性增强功能。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsOuterJoins
检索此数据库是否支持某种形式的外连接。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsFullOuterJoins
检索此数据库是否支持完全嵌套的外连接。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsLimitedOuterJoins
检索此数据库是否提供对外连接的有限支持。(如果方法supportsFullOuterJoins
返回true
,则为true
)。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getSchemaTerm
检索数据库供应商对“模式”的首选术语。- 返回:
- “模式”的供应商术语
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getProcedureTerm
检索数据库供应商对“过程”的首选术语。- 返回:
- “过程”的供应商术语
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getCatalogTerm
检索数据库供应商对“目录”的首选术语。- 返回:
- “目录”的供应商术语
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
isCatalogAtStart
检索目录是否出现在完全限定表名的开头。如果不是,则目录出现在末尾。- 返回:
-
如果目录名称出现在完全限定表名的开头,则为
true
; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getCatalogSeparator
检索此数据库用作目录和表名之间分隔符的String
。- 返回:
- 分隔符字符串
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsSchemasInDataManipulation
检索模式名称是否可以在数据操作语句中使用。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsSchemasInProcedureCalls
检索模式名称是否可以在过程调用语句中使用。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsSchemasInTableDefinitions
检索模式名称是否可以在表定义语句中使用。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsSchemasInIndexDefinitions
检索模式名称是否可以在索引定义语句中使用。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsSchemasInPrivilegeDefinitions
检索模式名称是否可以在权限定义语句中使用。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsCatalogsInDataManipulation
检索目录名称是否可以在数据操作语句中使用。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsCatalogsInProcedureCalls
检索目录名称是否可以在过程调用语句中使用。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsCatalogsInTableDefinitions
检索目录名称是否可以在表定义语句中使用。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsCatalogsInIndexDefinitions
检索目录名称是否可以在索引定义语句中使用。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsCatalogsInPrivilegeDefinitions
检索目录名称是否可以在权限定义语句中使用。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsPositionedDelete
检索此数据库是否支持定位DELETE
语句。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsPositionedUpdate
检索此数据库是否支持定位UPDATE
语句。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsSelectForUpdate
检索此数据库是否支持SELECT FOR UPDATE
语句。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsStoredProcedures
检索此数据库是否支持使用存储过程转义语法的存储过程调用。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsSubqueriesInComparisons
检索此数据库是否支持比较表达式中的子查询。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsSubqueriesInExists
检索此数据库是否支持EXISTS
表达式中的子查询。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsSubqueriesInIns
检索此数据库是否支持IN
表达式中的子查询。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsSubqueriesInQuantifieds
检索此数据库是否支持定量表达式中的子查询。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsUnion
检索此数据库是否支持SQLUNION
。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsUnionAll
检索此数据库是否支持SQLUNION ALL
。- 返回:
-
true
如果是这样; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsOpenCursorsAcrossCommit
检索此数据库是否支持在提交过程中保持游标打开状态。- 返回:
-
true
如果游标始终保持打开状态;false
如果它们可能不保持打开状态 - 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsOpenCursorsAcrossRollback
检索此数据库是否支持在回滚过程中保持游标打开状态。- 返回:
-
true
如果游标始终保持打开状态;false
如果它们可能不保持打开状态 - 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsOpenStatementsAcrossCommit
检索此数据库是否支持在提交过程中保持语句打开状态。- 返回:
-
true
如果语句始终保持打开状态;false
如果它们可能不保持打开状态 - 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsOpenStatementsAcrossRollback
检索此数据库是否支持在回滚过程中保持语句打开状态。- 返回:
-
true
如果语句始终保持打开状态;false
如果它们可能不保持打开状态 - 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getMaxBinaryLiteralLength
检索此数据库允许内联二进制文字中的十六进制字符的最大数量。- 返回:
- 最大长度(以十六进制字符表示)为二进制文字; 结果为零表示没有限制或限制未知
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getMaxCharLiteralLength
检索此数据库允许字符文字的最大数量。- 返回:
- 允许字符文字的最大字符数; 结果为零表示没有限制或限制未知
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getMaxColumnNameLength
检索此数据库允许列名的最大数量。- 返回:
- 允许列名的最大字符数; 结果为零表示没有限制或限制未知
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getMaxColumnsInGroupBy
检索此数据库允许在GROUP BY
子句中的最大列数。- 返回:
- 允许的最大列数; 结果为零表示没有限制或限制未知
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getMaxColumnsInIndex
检索此数据库允许在索引中的最大列数。- 返回:
- 允许的最大列数; 结果为零表示没有限制或限制未知
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getMaxColumnsInOrderBy
检索此数据库允许在ORDER BY
子句中的最大列数。- 返回:
- 允许的最大列数; 结果为零表示没有限制或限制未知
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getMaxColumnsInSelect
检索此数据库允许在SELECT
列表中的最大列数。- 返回:
- 允许的最大列数; 结果为零表示没有限制或限制未知
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getMaxColumnsInTable
检索此数据库允许在表中的最大列数。- 返回:
- 允许的最大列数; 结果为零表示没有限制或限制未知
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getMaxConnections
检索此数据库可能存在的最大并发连接数。- 返回:
- 可能同时存在的最大活动连接数; 结果为零表示没有限制或限制未知
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getMaxCursorNameLength
检索此数据库允许游标名称中的最大字符数。- 返回:
- 允许游标名称中的最大字符数; 结果为零表示没有限制或限制未知
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getMaxIndexLength
检索此数据库允许索引中的最大字节数,包括索引的所有部分。- 返回:
- 允许的最大字节数; 此限制包括索引所有组成部分的组合; 结果为零表示没有限制或限制未知
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getMaxSchemaNameLength
检索此数据库允许模式名称中的最大字符数。- 返回:
- 允许模式名称中的最大字符数; 结果为零表示没有限制或限制未知
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getMaxProcedureNameLength
检索此数据库允许过程名称中的最大字符数。- 返回:
- 允许过程名称中的最大字符数; 结果为零表示没有限制或限制未知
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getMaxCatalogNameLength
检索此数据库允许目录名称中的最大字符数。- 返回:
- 允许目录名称中的最大字符数; 结果为零表示没有限制或限制未知
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getMaxRowSize
检索此数据库允许单行中的最大字节数。- 返回:
- 允许的最大行字节数; 结果为零表示没有限制或限制未知
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
doesMaxRowSizeIncludeBlobs
检索方法getMaxRowSize
的返回值是否包括SQL数据类型LONGVARCHAR
和LONGVARBINARY
。- 返回值:
-
如果是,则为
true
; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getMaxStatementLength
检索此数据库允许在SQL语句中的最大字符数。- 返回值:
- SQL语句允许的最大字符数;结果为零表示没有限制或限制未知
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getMaxStatements
检索此数据库允许同时打开的活动语句的最大数量。- 返回值:
- 可以同时打开的语句的最大数量;结果为零表示没有限制或限制未知
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getMaxTableNameLength
检索此数据库允许在表名中的最大字符数。- 返回值:
- 表名允许的最大字符数;结果为零表示没有限制或限制未知
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getMaxTablesInSelect
检索此数据库允许在SELECT
语句中的最大表数。- 返回值:
-
SELECT
语句中允许的最大表数;结果为零表示没有限制或限制未知 - 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getMaxUserNameLength
检索此数据库允许在用户名中的最大字符数。- 返回值:
- 用户名允许的最大字符数;结果为零表示没有限制或限制未知
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getDefaultTransactionIsolation
检索此数据库的默认事务隔离级别。可能的值在java.sql.Connection
中定义。- 返回值:
- 默认隔离级别
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 参见:
-
supportsTransactions
检索此数据库是否支持事务。如果不支持,则调用方法commit
是一个空操作,并且隔离级别为TRANSACTION_NONE
。- 返回值:
-
如果支持事务,则为
true
; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsTransactionIsolationLevel
检索此数据库是否支持给定的事务隔离级别。- 参数:
-
level
- 在java.sql.Connection
中定义的事务隔离级别之一 - 返回值:
-
如果支持,则为
true
; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 参见:
-
supportsDataDefinitionAndDataManipulationTransactions
检索此数据库是否在事务中支持数据定义和数据操作语句。- 返回值:
-
如果支持,则为
true
; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
supportsDataManipulationTransactionsOnly
检索此数据库是否仅在事务中支持数据操作语句。- 返回值:
-
如果支持,则为
true
; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
dataDefinitionCausesTransactionCommit
检索在事务中数据定义语句是否强制事务提交。- 返回值:
-
如果是,则为
true
; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
dataDefinitionIgnoredInTransactions
检索此数据库是否忽略在事务中的数据定义语句。- 返回值:
-
如果是,则为
true
; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误
-
getProcedures
ResultSet getProcedures(String catalog, String schemaPattern, String procedureNamePattern) throws SQLException 检索给定目录中可用的存储过程的描述。仅返回与模式和存储过程名称条件匹配的存储过程描述。它们按
PROCEDURE_CAT
、PROCEDURE_SCHEM
、PROCEDURE_NAME
和SPECIFIC_ NAME
排序。每个存储过程描述具有以下列:
- PROCEDURE_CAT String
=>
存储过程目录(可能为null
) - PROCEDURE_SCHEM String
=>
存储过程模式(可能为null
) - PROCEDURE_NAME String
=>
存储过程名称 - 保留供将来使用
- 保留供将来使用
- 保留供将来使用
- REMARKS String
=>
对存储过程的解释性注释 - PROCEDURE_TYPE short
=>
存储过程类型:- procedureResultUnknown - 无法确定是否会返回返回值
- procedureNoResult - 不返回返回值
- procedureReturnsResult - 返回返回值
- SPECIFIC_NAME String
=>
在其模式中唯一标识此存储过程的名称。
用户可能没有权限执行
getProcedures
返回的任何存储过程。- 参数:
-
catalog
- 目录名称;必须与数据库中存储的目录名称匹配;""检索没有目录的存储过程;null
表示不应使用目录名称来缩小搜索范围 -
schemaPattern
- 模式名称模式;必须与数据库中存储的模式名称匹配;""检索没有模式的存储过程;null
表示不应使用模式名称来缩小搜索范围 -
procedureNamePattern
- 存储过程名称模式;必须与数据库中存储的存储过程名称匹配 - 返回值:
-
ResultSet
- 每一行是一个存储过程描述 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 参见:
- PROCEDURE_CAT String
-
getProcedureColumns
ResultSet getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) throws SQLException 检索给定目录的存储过程参数和结果列的描述。仅返回与模式、过程和参数名称条件匹配的描述。它们按PROCEDURE_CAT、PROCEDURE_SCHEM、PROCEDURE_NAME和SPECIFIC_NAME排序。其中,首先是返回值(如果有)。接下来是按调用顺序的参数描述。列描述按列号顺序排列。
ResultSet
中的每一行都是一个参数描述或列描述,具有以下字段:- PROCEDURE_CAT String
=>
过程目录(可能为null
) - PROCEDURE_SCHEM String
=>
过程模式(可能为null
) - PROCEDURE_NAME String
=>
过程名称 - COLUMN_NAME String
=>
列/参数名称 - COLUMN_TYPE Short
=>
列/参数的类型:- procedureColumnUnknown - 未知
- procedureColumnIn - 输入参数
- procedureColumnInOut - 输入/输出参数
- procedureColumnOut - 输出参数
- procedureColumnReturn - 过程返回值
- procedureColumnResult -
ResultSet
中的结果列
- DATA_TYPE int
=>
来自java.sql.Types的SQL类型 - TYPE_NAME String
=>
SQL类型名称,对于UDT类型,类型名称是完全限定的 - PRECISION int
=>
精度 - LENGTH int
=>
数据的字节长度 - SCALE short
=>
刻度 - 对于不适用SCALE的数据类型,返回null。 - RADIX short
=>
基数 - NULLABLE short
=>
是否可以包含NULL。- procedureNoNulls - 不允许NULL值
- procedureNullable - 允许NULL值
- procedureNullableUnknown - 不确定是否可为NULL
- REMARKS String
=>
描述参数/列的注释 - COLUMN_DEF String
=>
列的默认值,当值用单引号括起来时应解释为字符串(可能为null
)- 字符串NULL(不用引号括起来)- 如果指定了NULL作为默认值
- TRUNCATE(不用引号括起来)- 如果指定的默认值无法表示而需要截断
- NULL - 如果未指定默认值
- SQL_DATA_TYPE int
=>
保留供将来使用 - SQL_DATETIME_SUB int
=>
保留供将来使用 - CHAR_OCTET_LENGTH int
=>
二进制和基于字符的列的最大长度。对于任何其他数据类型,返回值为NULL - ORDINAL_POSITION int
=>
从1开始的输入和输出参数的序数位置,如果此行描述过程的返回值,则返回值为0。对于结果集列,它是结果集中列的序数位置,从1开始。如果有多个结果集,则列序数位置是实现定义的。 - IS_NULLABLE String
=>
使用ISO规则确定列的可为NULL性。- YES --- 如果列可以包含NULL值
- NO --- 如果列不可以包含NULL值
- 空字符串 --- 如果列的可为NULL性未知
- SPECIFIC_NAME String
=>
在其模式中唯一标识此过程的名称
注意:某些数据库可能不会返回过程的列描述。
PRECISION列表示给定列的指定列大小。对于数值数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示的字符长度(假设分数秒组件的最大允许精度)。对于二进制数据,这是字节长度。对于ROWID数据类型,这是字节长度。对于不适用列大小的数据类型,返回null。
- 参数:
-
catalog
- 目录名称;必须与数据库中存储的目录名称匹配;""检索没有目录的;null
表示不应使用目录名称来缩小搜索范围 -
schemaPattern
- 模式名称模式;必须与数据库中存储的模式名称匹配;""检索没有模式的;null
表示不应使用模式名称来缩小搜索范围 -
procedureNamePattern
- 过程名称模式;必须与数据库中存储的过程名称匹配 -
columnNamePattern
- 列名称模式;必须与数据库中存储的列名称匹配 - 返回:
-
ResultSet
- 每一行描述一个存储过程参数或列 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 参见:
- PROCEDURE_CAT String
-
getTables
ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) throws SQLException 检索给定目录中可用的表的描述。仅返回与目录、模式、表名称和类型条件匹配的表描述。它们按TABLE_TYPE
、TABLE_CAT
、TABLE_SCHEM
和TABLE_NAME
排序。每个表描述具有以下列:
- TABLE_CAT String
=>
表目录(可能为null
) - TABLE_SCHEM String
=>
表模式(可能为null
) - TABLE_NAME String
=>
表名称 - TABLE_TYPE String
=>
表类型。典型类型有"TABLE"、"VIEW"、"SYSTEM TABLE"、"GLOBAL TEMPORARY"、"LOCAL TEMPORARY"、"ALIAS"、"SYNONYM"。 - REMARKS String
=>
表的解释性注释(可能为null
) - TYPE_CAT String
=>
类型目录(可能为null
) - TYPE_SCHEM String
=>
类型模式(可能为null
) - TYPE_NAME String
=>
类型名称(可能为null
) - SELF_REFERENCING_COL_NAME String
=>
有类型表的指定“标识符”列的名称(可能为null
) - REF_GENERATION String
=>
指定如何创建SELF_REFERENCING_COL_NAME中的值。值为"SYSTEM"、"USER"、"DERIVED"(可能为null
)
注意:某些数据库可能不会返回所有表的信息。
- 参数:
-
catalog
- 目录名称;必须与数据库中存储的目录名称匹配;""检索没有目录的;null
表示不应使用目录名称来缩小搜索范围 -
schemaPattern
- 模式名称模式;必须与数据库中存储的模式名称匹配;""检索没有模式的;null
表示不应使用模式名称来缩小搜索范围 -
tableNamePattern
- 表名称模式;必须与数据库中存储的表名称匹配 -
types
- 表类型列表,必须来自getTableTypes()
返回的表类型列表;null
返回所有类型 - 返回:
-
ResultSet
- 每一行是一个表描述 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 参见:
- TABLE_CAT String
-
getSchemas
检索此数据库中可用的模式名称。结果按TABLE_CATALOG
和TABLE_SCHEM
排序。模式列为:
- TABLE_SCHEM String
=>
模式名称 - TABLE_CATALOG String
=>
目录名称(可能为null
)
- 返回:
-
一个
ResultSet
对象,其中每一行是一个模式描述 - 抛出:
-
SQLException
- 如果发生数据库访问错误
- TABLE_SCHEM String
-
getCatalogs
检索此数据库中可用的目录名称。结果按目录名称排序。目录列为:
- TABLE_CAT String
=>
目录名称
- 返回:
-
一个
ResultSet
对象,其中每一行有一个String
列,即目录名称 - 抛出:
-
SQLException
- 如果发生数据库访问错误
- TABLE_CAT String
-
getTableTypes
检索此数据库中可用的表类型。结果按表类型排序。表类型为:
- TABLE_TYPE String
=>
表类型。典型类型有"TABLE"、"VIEW"、"SYSTEM TABLE"、"GLOBAL TEMPORARY"、"LOCAL TEMPORARY"、"ALIAS"、"SYNONYM"。
- 返回:
-
一个
ResultSet
对象,其中每一行有一个String
列,即表类型 - 抛出:
-
SQLException
- 如果发生数据库访问错误
- TABLE_TYPE String
-
getColumns
ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException 检索指定目录中可用的表列的描述。仅返回与目录、模式、表和列名条件匹配的列描述。它们按
TABLE_CAT
、TABLE_SCHEM
、TABLE_NAME
和ORDINAL_POSITION
排序。每个列描述具有以下列:
- TABLE_CAT String
=>
表目录(可能为null
) - TABLE_SCHEM String
=>
表模式(可能为null
) - TABLE_NAME String
=>
表名 - COLUMN_NAME String
=>
列名 - DATA_TYPE int
=>
来自java.sql.Types的SQL类型 - TYPE_NAME String
=>
数据源相关的类型名称,对于UDT,类型名称是完全限定的 - COLUMN_SIZE int
=>
列大小。 - BUFFER_LENGTH 未使用。
- DECIMAL_DIGITS int
=>
小数位数。对于不适用DECIMAL_DIGITS的数据类型,返回Null。 - NUM_PREC_RADIX int
=>
基数(通常为10或2) - NULLABLE int
=>
是否允许NULL。- columnNoNulls - 可能不允许
NULL
值 - columnNullable - 绝对允许
NULL
值 - columnNullableUnknown - 不明确的可为null性
- columnNoNulls - 可能不允许
- REMARKS String
=>
描述列的注释(可能为null
) - COLUMN_DEF String
=>
列的默认值,当值用单引号括起来时应解释为字符串(可能为null
) - SQL_DATA_TYPE int
=>
未使用 - SQL_DATETIME_SUB int
=>
未使用 - CHAR_OCTET_LENGTH int
=>
对于char类型,列中的最大字节数 - ORDINAL_POSITION int
=>
表中列的索引(从1开始) - IS_NULLABLE String
=>
使用ISO规则确定列的可为null性。- YES --- 如果列可以包含NULL
- NO --- 如果列不能包含NULL
- 空字符串 --- 如果列的可为null性未知
- SCOPE_CATALOG String
=>
引用属性范围的表的目录(如果DATA_TYPE不是REF,则为null
) - SCOPE_SCHEMA String
=>
引用属性范围的表的模式(如果DATA_TYPE不是REF,则为null
) - SCOPE_TABLE String
=>
引用属性范围的表名(如果DATA_TYPE不是REF,则为null
) - SOURCE_DATA_TYPE short
=>
独特类型或用户生成的Ref类型的源类型,来自java.sql.Types的SQL类型(如果DATA_TYPE不是DISTINCT或用户生成的REF,则为null
) - IS_AUTOINCREMENT String
=>
指示此列是否自动递增- YES --- 如果列是自动递增的
- NO --- 如果列不是自动递增的
- 空字符串 --- 如果无法确定列是否自动递增
- IS_GENERATEDCOLUMN String
=>
指示是否为生成的列- YES --- 如果这是一个生成的列
- NO --- 如果这不是一个生成的列
- 空字符串 --- 如果无法确定这是否是一个生成的列
COLUMN_SIZE列指定给定列的列大小。对于数字数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示的字符长度(假设分数秒组件的最大允许精度)。对于二进制数据,这是字节长度。对于ROWID数据类型,这是字节长度。对于不适用列大小的数据类型,返回Null。
- 参数:
-
catalog
- 目录名称;必须与数据库中存储的目录名称匹配;""检索没有目录的;null
表示不应使用目录名称来缩小搜索范围 -
schemaPattern
- 模式名称模式;必须与数据库中存储的模式名称匹配;""检索没有模式的;null
表示不应使用模式名称来缩小搜索范围 -
tableNamePattern
- 表名称模式;必须与数据库中存储的表名称匹配 -
columnNamePattern
- 列名称模式;必须与数据库中存储的列名称匹配 - 返回:
-
ResultSet
- 每行是一个列描述 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 参见:
- TABLE_CAT String
-
getColumnPrivileges
ResultSet getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern) throws SQLException 检索表列的访问权限描述。仅返回与列名条件匹配的权限。它们按COLUMN_NAME和PRIVILEGE排序。
每个权限描述具有以下列:
- TABLE_CAT String
=>
表目录(可能为null
) - TABLE_SCHEM String
=>
表模式(可能为null
) - TABLE_NAME String
=>
表名 - COLUMN_NAME String
=>
列名 - GRANTOR String
=>
访问授权者(可能为null
) - GRANTEE String
=>
访问授权者 - PRIVILEGE String
=>
访问名称(SELECT、INSERT、UPDATE、REFERENCES等) - IS_GRANTABLE String
=>
如果授权者允许授予其他人,则为"YES";如果不允许,则为"NO";如果未知,则为null
- 参数:
-
catalog
- 目录名称;必须与数据库中存储的目录名称匹配;""检索没有目录的;null
表示不应使用目录名称来缩小搜索范围 -
schema
- 模式名称;必须与数据库中存储的模式名称匹配;""检索没有模式的;null
表示不应使用模式名称来缩小搜索范围 -
table
- 表名称;必须与数据库中存储的表名称匹配 -
columnNamePattern
- 列名称模式;必须与数据库中存储的列名称匹配 - 返回:
-
ResultSet
- 每行是一个列权限描述 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 参见:
- TABLE_CAT String
-
getTablePrivileges
ResultSet getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern) throws SQLException 检索目录中每个表的访问权限描述。请注意,表权限适用于表中的一个或多个列。假设此权限适用于所有列是错误的(对于某些系统可能是正确的,但并非对所有系统都是正确的)。仅返回与模式和表名条件匹配的权限。它们按
TABLE_CAT
、TABLE_SCHEM
、TABLE_NAME
和PRIVILEGE
排序。每个权限描述具有以下列:
- TABLE_CAT String
=>
表目录(可能为null
) - TABLE_SCHEM String
=>
表模式(可能为null
) - TABLE_NAME String
=>
表名 - GRANTOR String
=>
访问授权者(可能为null
) - GRANTEE String
=>
访问授权者 - PRIVILEGE String
=>
访问名称(SELECT、INSERT、UPDATE、REFERENCES等) - IS_GRANTABLE String
=>
如果授权者允许授予其他人,则为"YES";如果不允许,则为"NO";如果未知,则为null
- 参数:
-
catalog
- 目录名称;必须与数据库中存储的目录名称匹配;""检索没有目录的;null
表示不应使用目录名称来缩小搜索范围 -
schemaPattern
- 模式名称模式;必须与数据库中存储的模式名称匹配;""检索没有模式的;null
表示不应使用模式名称来缩小搜索范围 -
tableNamePattern
- 表名称模式;必须与数据库中存储的表名称匹配 - 返回:
-
ResultSet
- 每行是一个表权限描述 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 参见:
- TABLE_CAT String
-
getBestRowIdentifier
ResultSet getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable) throws SQLException 检索表的最佳列集的描述,这些列唯一标识一行。它们按SCOPE排序。每个列描述具有以下列:
- SCOPE short
=>
结果的实际范围- bestRowTemporary - 非常临时,使用行时
- bestRowTransaction - 在当前事务的剩余时间内有效
- bestRowSession - 在当前会话的剩余时间内有效
- COLUMN_NAME String
=>
列名 - DATA_TYPE int
=>
来自java.sql.Types的SQL数据类型 - TYPE_NAME String
=>
数据源相关的类型名称,对于UDT,类型名称是完全限定的 - COLUMN_SIZE int
=>
精度 - BUFFER_LENGTH int
=>
未使用 - DECIMAL_DIGITS short
=>
刻度 - 对于不适用DECIMAL_DIGITS的数据类型,返回Null。 - PSEUDO_COLUMN short
=>
这是否是像Oracle ROWID这样的伪列- bestRowUnknown - 可能是伪列,也可能不是
- bestRowNotPseudo - 不是伪列
- bestRowPseudo - 是伪列
COLUMN_SIZE列表示给定列的指定列大小。对于数字数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示的字符长度(假设分数秒组件的最大允许精度)。对于二进制数据,这是字节长度。对于ROWID数据类型,这是字节长度。对于不适用列大小的数据类型,返回Null。
- 参数:
-
catalog
- 目录名称;必须与数据库中存储的目录名称匹配;""检索没有目录的;null
表示不应使用目录名称来缩小搜索范围 -
schema
- 模式名称;必须与数据库中存储的模式名称匹配;""检索没有模式的;null
表示不应使用模式名称来缩小搜索范围 -
table
- 表名称;必须与数据库中存储的表名称匹配 -
scope
- 感兴趣的范围;使用与SCOPE相同的值 -
nullable
- 包括可为空的列。 - 返回:
-
ResultSet
- 每行是一个列描述 - 抛出:
-
SQLException
- 如果发生数据库访问错误
- SCOPE short
-
getVersionColumns
检索表的列的描述,这些列在更新行中的任何值更新时会自动更新。它们是无序的。每个列描述具有以下列:
- SCOPE short
=>
未使用 - COLUMN_NAME String
=>
列名 - DATA_TYPE int
=>
来自java.sql.Types
的SQL数据类型 - TYPE_NAME String
=>
数据源相关的类型名称 - COLUMN_SIZE int
=>
精度 - BUFFER_LENGTH int
=>
列值的长度(以字节为单位) - DECIMAL_DIGITS short
=>
刻度 - 对于不适用DECIMAL_DIGITS的数据类型,返回Null。 - PSEUDO_COLUMN short
=>
是否是像Oracle ROWID这样的伪列- versionColumnUnknown - 可能是伪列,也可能不是
- versionColumnNotPseudo - 不是伪列
- versionColumnPseudo - 是伪列
COLUMN_SIZE列表示给定列的指定列大小。对于数字数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示的字符长度(假设分数秒组件的最大允许精度)。对于二进制数据,这是字节长度。对于ROWID数据类型,这是字节长度。对于不适用列大小的数据类型,返回Null。
- 参数:
-
catalog
- 目录名称;必须与数据库中存储的目录名称匹配;""检索没有目录的;null
表示不应使用目录名称来缩小搜索范围 -
schema
- 模式名称;必须与数据库中存储的模式名称匹配;""检索没有模式的;null
表示不应使用模式名称来缩小搜索范围 -
table
- 表名称;必须与数据库中存储的表名称匹配 - 返回:
-
一个
ResultSet
对象,其中每行是一个列描述 - 抛出:
-
SQLException
- 如果发生数据库访问错误
- SCOPE short
-
getPrimaryKeys
检索给定表的主键列的描述。它们按COLUMN_NAME排序。每个主键列描述具有以下列:
- TABLE_CAT String
=>
表目录(可能为null
) - TABLE_SCHEM String
=>
表模式(可能为null
) - TABLE_NAME String
=>
表名称 - COLUMN_NAME String
=>
列名 - KEY_SEQ short
=>
主键内的序列号(值为1表示主键的第一列,值为2表示主键内的第二列)。 - PK_NAME String
=>
主键名称(可能为null
)
- 参数:
-
catalog
- 目录名称;必须与数据库中存储的目录名称匹配;""检索没有目录的;null
表示不应使用目录名称来缩小搜索范围 -
schema
- 模式名称;必须与数据库中存储的模式名称匹配;""检索没有模式的;null
表示不应使用模式名称来缩小搜索范围 -
table
- 表名称;必须与数据库中存储的表名称匹配 - 返回:
-
ResultSet
- 每行是一个主键列描述 - 抛出:
-
SQLException
- 如果发生数据库访问错误
- TABLE_CAT String
-
getImportedKeys
检索由给定表的外键列引用的主键列的描述(由表导入的主键)。它们按PKTABLE_CAT、PKTABLE_SCHEM、PKTABLE_NAME和KEY_SEQ排序。每个主键列描述具有以下列:
- PKTABLE_CAT String
=>
导入的主键表目录(可能为null
) - PKTABLE_SCHEM String
=>
导入的主键表模式(可能为null
) - PKTABLE_NAME String
=>
导入的主键表名称 - PKCOLUMN_NAME String
=>
导入的主键列名 - FKTABLE_CAT String
=>
外键表目录(可能为null
) - FKTABLE_SCHEM String
=>
外键表模式(可能为null
) - FKTABLE_NAME String
=>
外键表名称 - FKCOLUMN_NAME String
=>
外键列名 - KEY_SEQ short
=>
外键内的序列号(值为1表示外键的第一列,值为2表示外键内的第二列)。 - UPDATE_RULE short
=>
当主键更新时外键发生的情况:- importedNoAction - 如果已导入主键,则不允许更新主键
- importedKeyCascade - 更改导入的键以与主键更新一致
- importedKeySetNull - 如果其主键已更新,则将导入的键更改为
NULL
- importedKeySetDefault - 如果其主键已更新,则将导入的键更改为默认值
- importedKeyRestrict - 与importedKeyNoAction相同(用于ODBC 2.x兼容性)
- DELETE_RULE short
=>
主键删除时外键发生的情况。- importedKeyNoAction - 如果已导入主键,则不允许删除主键
- importedKeyCascade - 删除导入已删除键的行
- importedKeySetNull - 如果其主键已删除,则将导入的键更改为NULL
- importedKeyRestrict - 与importedKeyNoAction相同(用于ODBC 2.x兼容性)
- importedKeySetDefault - 如果其主键已删除,则将导入的键更改为默认值
- FK_NAME String
=>
外键名称(可能为null
) - PK_NAME String
=>
主键名称(可能为null
) - DEFERRABILITY short
=>
是否可以将外键约束的评估推迟到提交- importedKeyInitiallyDeferred - 请参阅SQL92以获取定义
- importedKeyInitiallyImmediate - 请参阅SQL92以获取定义
- importedKeyNotDeferrable - 请参阅SQL92以获取定义
- 参数:
-
catalog
- 目录名称;必须与数据库中存储的目录名称匹配;""检索没有目录的;null
表示不应使用目录名称来缩小搜索范围 -
schema
- 模式名称;必须与数据库中存储的模式名称匹配;""检索没有模式的;null
表示不应使用模式名称来缩小搜索范围 -
table
- 表名称;必须与数据库中存储的表名称匹配 - 返回:
-
ResultSet
- 每行是一个主键列描述 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 参见:
- PKTABLE_CAT String
-
getExportedKeys
检索引用给定表的主键列的外键列的描述(表导出的外键)。它们按照FKTABLE_CAT、FKTABLE_SCHEM、FKTABLE_NAME和KEY_SEQ的顺序排列。每个外键列描述具有以下列:
- PKTABLE_CAT 字符串
=>
主键表目录(可能为null
) - PKTABLE_SCHEM 字符串
=>
主键表模式(可能为null
) - PKTABLE_NAME 字符串
=>
主键表名称 - PKCOLUMN_NAME 字符串
=>
主键列名称 - FKTABLE_CAT 字符串
=>
导出的外键表目录(可能为null
) - FKTABLE_SCHEM 字符串
=>
导出的外键表模式(可能为null
) - FKTABLE_NAME 字符串
=>
导出的外键表名称 - FKCOLUMN_NAME 字符串
=>
导出的外键列名称 - KEY_SEQ 短整型
=>
外键内的序列号(值为1表示外键的第一列,值为2表示外键的第二列) - UPDATE_RULE 短整型
=>
当主键更新时外键会发生什么变化:- importedNoAction - 如果已导入,则不允许更新主键
- importedKeyCascade - 将导入的键更改为与主键更新一致
- importedKeySetNull - 如果其主键已更新,则将导入的键更改为
NULL
- importedKeySetDefault - 如果其主键已更新,则将导入的键更改为默认值
- importedKeyRestrict - 与importedKeyNoAction相同(用于ODBC 2.x兼容性)
- DELETE_RULE 短整型
=>
当主键被删除时外键会发生什么变化。- importedKeyNoAction - 如果已导入,则不允许删除主键
- importedKeyCascade - 删除导入已删除键的行
- importedKeySetNull - 如果其主键已删除,则将导入的键更改为
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
- 如果发生数据库访问错误 - 参见:
- 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
) - FKTABLE_SCHEM 字符串
=>
导出的外键表模式(可能为null
) - FKTABLE_NAME 字符串
=>
导出的外键表名称 - FKCOLUMN_NAME 字符串
=>
导出的外键列名称 - KEY_SEQ 短整型
=>
外键内的序列号(值为1表示外键的第一列,值为2表示外键的第二列) - UPDATE_RULE 短整型
=>
当父键更新时外键会发生什么变化:- importedNoAction - 如果已导入,则不允许更新父键
- importedKeyCascade - 将导入的键更改为与父键更新一致
- importedKeySetNull - 如果其父键已更新,则将导入的键更改为
NULL
- importedKeySetDefault - 如果其父键已更新,则将导入的键更改为默认值
- importedKeyRestrict - 与importedKeyNoAction相同(用于ODBC 2.x兼容性)
- DELETE_RULE 短整型
=>
当父键被删除时外键会发生什么变化。- importedKeyNoAction - 如果已导入,则不允许删除父键
- importedKeyCascade - 删除导入已删除键的行
- importedKeySetNull - 如果其主键已删除,则将导入的键更改为
NULL
- importedKeyRestrict - 与importedKeyNoAction相同(用于ODBC 2.x兼容性)
- importedKeySetDefault - 如果其父键已删除,则将导入的键更改为默认值
- FK_NAME 字符串
=>
外键名称(可能为null
) - PK_NAME 字符串
=>
父键名称(可能为null
) - DEFERRABILITY 短整型
=>
是否可以推迟外键约束的评估直到提交- importedKeyInitiallyDeferred - 请参阅SQL92的定义
- importedKeyInitiallyImmediate - 请参阅SQL92的定义
- importedKeyNotDeferrable - 请参阅SQL92的定义
- 参数:
-
parentCatalog
- 目录名称;必须与数据库中存储的目录名称匹配;""检索没有目录的;null
表示从选择条件中删除目录名称 -
parentSchema
- 模式名称;必须与数据库中存储的模式名称匹配;""检索没有模式的;null
表示从选择条件中删除模式名称 -
parentTable
- 导出键的表名称;必须与数据库中存储的表名称匹配 -
foreignCatalog
- 目录名称;必须与数据库中存储的目录名称匹配;""检索没有目录的;null
表示从选择条件中删除目录名称 -
foreignSchema
- 模式名称;必须与数据库中存储的模式名称匹配;""检索没有模式的;null
表示从选择条件中删除模式名称 -
foreignTable
- 导入键的表名称;必须与数据库中存储的表名称匹配 - 返回:
-
ResultSet
- 每一行是一个外键列描述 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 参见:
- PKTABLE_CAT 字符串
-
getTypeInfo
检索此数据库支持的所有数据类型的描述。它们按DATA_TYPE顺序排列,然后按数据类型与相应的JDBC SQL类型的映射程度排序。如果数据库支持SQL不同类型,则getTypeInfo()将返回一行,TYPE_NAME为DISTINCT,DATA_TYPE为Types.DISTINCT。如果数据库支持SQL结构化类型,则getTypeInfo()将返回一行,TYPE_NAME为STRUCT,DATA_TYPE为Types.STRUCT。
如果支持SQL不同或结构化类型,则可以从getUDTs()方法获取有关各个类型的信息。
每种类型描述具有以下列:
- TYPE_NAME String
=>
类型名称 - DATA_TYPE int
=>
来自java.sql.Types的SQL数据类型 - PRECISION int
=>
最大精度 - LITERAL_PREFIX String
=>
用于引用文字的前缀(可能为null
) - LITERAL_SUFFIX String
=>
用于引用文字的后缀(可能为null
) - CREATE_PARAMS String
=>
用于创建类型的参数(可能为null
) - NULLABLE short
=>
是否可以使用NULL值。- typeNoNulls - 不允许NULL值
- typeNullable - 允许NULL值
- typeNullableUnknown - 不确定是否可为NULL
- CASE_SENSITIVE boolean
=>
是否区分大小写。 - SEARCHABLE short
=>
是否可以基于此类型使用“WHERE”:- typePredNone - 不支持
- typePredChar - 仅支持WHERE .. LIKE
- typePredBasic - 除了WHERE .. LIKE外都支持
- typeSearchable - 对所有WHERE ..都支持
- UNSIGNED_ATTRIBUTE boolean
=>
是否为无符号。 - FIXED_PREC_SCALE boolean
=>
是否可以是货币值。 - AUTO_INCREMENT boolean
=>
是否可用于自动递增值。 - LOCAL_TYPE_NAME String
=>
类型名称的本地化版本(可能为null
) - MINIMUM_SCALE short
=>
支持的最小刻度 - MAXIMUM_SCALE short
=>
支持的最大刻度 - SQL_DATA_TYPE int
=>
未使用 - SQL_DATETIME_SUB int
=>
未使用 - NUM_PREC_RADIX int
=>
通常为2或10
PRECISION列表示服务器支持的给定数据类型的最大列大小。对于数字数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示的字符长度(假设分数秒组件的最大允许精度)。对于二进制数据,这是字节长度。对于ROWID数据类型,这是字节长度。对于不适用列大小的数据类型,返回Null。
- 返回:
-
每一行都是一个SQL类型描述的
ResultSet
对象 - 抛出:
-
SQLException
- 如果发生数据库访问错误
- TYPE_NAME String
-
getIndexInfo
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 long
=>
当TYPE为tableIndexStatistic时,这是表中的行数;否则,它是索引中唯一值的数量。 - PAGES long
=>
当TYPE为tableIndexStatistic时,这是表使用的页数,否则是当前索引使用的页数。 - FILTER_CONDITION String
=>
过滤条件,如果有的话(可能为null
)
- 参数:
-
catalog
- 目录名称;必须与存储在此数据库中的目录名称匹配;""检索没有目录的内容;null
表示不应使用目录名称来缩小搜索范围 -
schema
- 模式名称;必须与存储在此数据库中的模式名称匹配;""检索没有模式的内容;null
表示不应使用模式名称来缩小搜索范围 -
table
- 表名称;必须与存储在此数据库中的表名称匹配 -
unique
- 当为true时,仅返回唯一值的索引;当为false时,返回无论是否唯一的索引 -
approximate
- 当为true时,结果允许反映近似或过时值;当为false时,要求结果准确 - 返回:
-
ResultSet
- 每一行都是一个索引列描述 - 抛出:
-
SQLException
- 如果发生数据库访问错误
- TABLE_CAT String
-
supportsResultSetType
检索此数据库是否支持给定的结果集类型。- 参数:
-
type
- 在java.sql.ResultSet
中定义 - 返回:
-
如果支持,则为
true
;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自:
- 1.2
- 参见:
-
supportsResultSetConcurrency
检索此数据库是否支持与给定结果集类型结合使用的给定并发类型。- 参数:
-
type
- 在java.sql.ResultSet
中定义 -
concurrency
- 在java.sql.ResultSet
中定义的类型 - 返回:
-
如果支持,则为
true
;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自:
- 1.2
- 参见:
-
ownUpdatesAreVisible
检索给定ResultSet
对象类型的结果集的更新是否可见。- 参数:
-
type
-ResultSet
类型;为ResultSet.TYPE_FORWARD_ONLY
、ResultSet.TYPE_SCROLL_INSENSITIVE
或ResultSet.TYPE_SCROLL_SENSITIVE
之一 - 返回:
-
如果给定结果集类型的更新可见,则为
true
;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自:
- 1.2
-
ownDeletesAreVisible
检索结果集的删除是否可见。- 参数:
-
type
-ResultSet
类型;为ResultSet.TYPE_FORWARD_ONLY
、ResultSet.TYPE_SCROLL_INSENSITIVE
或ResultSet.TYPE_SCROLL_SENSITIVE
之一 - 返回:
-
如果给定结果集类型的删除可见,则为
true
;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自:
- 1.2
-
ownInsertsAreVisible
检索结果集的插入是否可见。- 参数:
-
type
-ResultSet
类型;为ResultSet.TYPE_FORWARD_ONLY
、ResultSet.TYPE_SCROLL_INSENSITIVE
或ResultSet.TYPE_SCROLL_SENSITIVE
之一 - 返回:
-
如果给定结果集类型的插入可见,则为
true
;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自:
- 1.2
-
othersUpdatesAreVisible
检索其他人所做的更新是否可见。- Parameters:
-
type
- theResultSet
type; one ofResultSet.TYPE_FORWARD_ONLY
,ResultSet.TYPE_SCROLL_INSENSITIVE
, orResultSet.TYPE_SCROLL_SENSITIVE
- Returns:
-
true
if updates made by others are visible for the given result set type;false
otherwise - Throws:
-
SQLException
- if a database access error occurs - Since:
- 1.2
-
othersDeletesAreVisible
Retrieves whether deletes made by others are visible.- 参数:
-
type
-ResultSet
类型; 可选值为ResultSet.TYPE_FORWARD_ONLY
,ResultSet.TYPE_SCROLL_INSENSITIVE
, 或ResultSet.TYPE_SCROLL_SENSITIVE
- 返回值:
-
true
如果其他人所做的删除对给定的结果集类型可见; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 1.2
-
othersInsertsAreVisible
检索其他人所做的插入是否可见。- 参数:
-
type
-ResultSet
类型; 可选值为ResultSet.TYPE_FORWARD_ONLY
,ResultSet.TYPE_SCROLL_INSENSITIVE
, 或ResultSet.TYPE_SCROLL_SENSITIVE
- 返回值:
-
true
如果其他人所做的插入对给定的结果集类型可见; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 1.2
-
updatesAreDetected
检索是否可以通过调用方法ResultSet.rowUpdated
检测到可见的行更新。- 参数:
-
type
-ResultSet
类型; 可选值为ResultSet.TYPE_FORWARD_ONLY
,ResultSet.TYPE_SCROLL_INSENSITIVE
, 或ResultSet.TYPE_SCROLL_SENSITIVE
- 返回值:
-
true
如果结果集类型检测到更改; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 1.2
-
deletesAreDetected
检索是否可以通过调用方法ResultSet.rowDeleted
检测到可见的行删除。如果方法deletesAreDetected
返回false
,则表示已从结果集中删除了删除的行。- 参数:
-
type
-ResultSet
类型; 可选值为ResultSet.TYPE_FORWARD_ONLY
,ResultSet.TYPE_SCROLL_INSENSITIVE
, 或ResultSet.TYPE_SCROLL_SENSITIVE
- 返回值:
-
true
如果结果集类型检测到删除; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 1.2
-
insertsAreDetected
检索是否可以通过调用方法ResultSet.rowInserted
检测到可见的行插入。- 参数:
-
type
-ResultSet
类型; 可选值为ResultSet.TYPE_FORWARD_ONLY
,ResultSet.TYPE_SCROLL_INSENSITIVE
, 或ResultSet.TYPE_SCROLL_SENSITIVE
- 返回值:
-
true
如果指定的结果集类型检测到更改; 否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 1.2
-
supportsBatchUpdates
检索此数据库是否支持批量更新。- 返回值:
-
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
排序。类型名称参数可以是完全限定名称。在这种情况下,将忽略目录和schemaPattern参数。每个类型描述具有以下列:
- TYPE_CAT 字符串
=>
类型的目录(可能为null
) - TYPE_SCHEM 字符串
=>
类型的模式(可能为null
) - TYPE_NAME 字符串
=>
类型名称 - CLASS_NAME 字符串
=>
Java 类名 - DATA_TYPE 整数
=>
在java.sql.Types中定义的类型值。其中之一为JAVA_OBJECT、STRUCT或DISTINCT - REMARKS 字符串
=>
对类型的解释性注释 - BASE_TYPE 短整型
=>
DISTINCT类型的源类型或实现结构化类型的用户生成引用类型的SELF_REFERENCING_COLUMN的类型代码,如java.sql.Types中定义的(如果DATA_TYPE不是DISTINCT或不是具有REFERENCE_GENERATION = USER_DEFINED的STRUCT)
注意: 如果驱动程序不支持UDT,则返回一个空结果集。
- 参数:
-
catalog
- 目录名称;必须与数据库中存储的目录名称匹配;""检索没有目录的;null
表示不应使用目录名称来缩小搜索范围 -
schemaPattern
- 模式名称模式;必须与数据库中存储的模式名称匹配;""检索没有模式的;null
表示不应使用模式名称来缩小搜索范围 -
typeNamePattern
- 类型名称模式;必须与数据库中存储的类型名称匹配;可以是完全限定名称 -
types
- 要包括的用户定义类型(JAVA_OBJECT、STRUCT或DISTINCT)列表;null
返回所有类型 - 返回值:
-
每行描述一个UDT的
ResultSet
对象 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 1.2
- 参见:
- TYPE_CAT 字符串
-
getConnection
检索生成此元数据对象的连接。- 返回值:
- 生成此元数据对象的连接
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 1.2
-
supportsSavepoints
检索此数据库是否支持保存点。- 返回值:
-
true
如果支持保存点;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 1.4
-
supportsNamedParameters
检索此数据库是否支持对可调用语句使用命名参数。- 返回值:
-
true
如果支持命名参数;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 1.4
-
supportsMultipleOpenResults
检索是否可能从CallableStatement
对象同时返回多个ResultSet
对象。- 返回值:
-
true
如果CallableStatement
对象可以同时返回多个ResultSet
对象;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 1.4
-
supportsGetGeneratedKeys
检索是否可以在执行语句后检索自动生成的键- 返回值:
-
true
如果可以在执行语句后检索自动生成的键;否则为false
如果返回
true
,JDBC驱动程序必须至少支持SQL INSERT语句的返回自动生成的键 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 1.4
-
getSuperTypes
ResultSet getSuperTypes(String catalog, String schemaPattern, String typeNamePattern) throws SQLException 检索在此数据库中特定模式中定义的用户定义类型(UDT)层次结构的描述。仅对直接超类型/子类型关系进行建模。仅返回与目录、模式和类型名称匹配的UDT的超类型信息。类型名称参数可以是完全限定名称。当提供的UDT名称是完全限定名称时,将忽略目录和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
- 参见:
- TYPE_CAT 字符串
-
getSuperTables
ResultSet getSuperTables(String catalog, String schemaPattern, String tableNamePattern) throws SQLException 检索在此数据库中定义的特定模式中表层次结构的描述。仅返回与目录、模式和表名称匹配的表的超表信息。如果表名称参数是完全限定名称,则忽略目录和schemaPattern参数。如果表没有超表,则不会在此处列出。超表必须在与子表相同的目录和模式中定义。因此,类型描述不需要包含超表的此信息。
每个类型描述具有以下列:
- TABLE_CAT String
=>
类型的目录(可能为null
) - TABLE_SCHEM String
=>
类型的模式(可能为null
) - TABLE_NAME String
=>
类型名称 - SUPERTABLE_NAME String
=>
直接超类型的名称
注意:如果驱动程序不支持类型层次结构,则返回一个空结果集。
- 参数:
-
catalog
- 目录名称;""检索没有目录的;null
表示从选择条件中删除目录名称 -
schemaPattern
- 模式名称模式;""检索没有模式的 -
tableNamePattern
- 表名称模式;可以是完全限定名称 - 返回:
-
一个
ResultSet
对象,其中每一行都是一个类型描述 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自:
- 1.4
- 参见:
- TABLE_CAT String
-
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 String
=>
类型目录(可能为null
) - TYPE_SCHEM String
=>
类型模式(可能为null
) - TYPE_NAME String
=>
类型名称 - ATTR_NAME String
=>
属性名称 - DATA_TYPE int
=>
属性类型的SQL类型,来自java.sql.Types - ATTR_TYPE_NAME String
=>
数据源相关的类型名称。对于UDT,类型名称是完全限定的。对于REF,类型名称是完全限定的,并表示引用类型的目标类型。 - ATTR_SIZE int
=>
列大小。对于char或日期类型,这是字符的最大数量;对于数字或十进制类型,这是精度。 - DECIMAL_DIGITS int
=>
小数位数。对于不适用DECIMAL_DIGITS的数据类型,返回null。 - NUM_PREC_RADIX int
=>
基数(通常为10或2) - NULLABLE int
=>
是否允许NULL- attributeNoNulls - 可能不允许NULL值
- attributeNullable - 绝对允许NULL值
- attributeNullableUnknown - 不明确的可为NULL值
- REMARKS String
=>
描述列的注释(可能为null
) - ATTR_DEF String
=>
默认值(可能为null
) - SQL_DATA_TYPE int
=>
未使用 - SQL_DATETIME_SUB int
=>
未使用 - CHAR_OCTET_LENGTH int
=>
对于char类型,列中的最大字节数 - ORDINAL_POSITION int
=>
UDT中属性的索引(从1开始) - IS_NULLABLE String
=>
使用ISO规则确定属性的可为NULL性。- YES --- 如果属性可以包含NULL值
- NO --- 如果属性不能包含NULL值
- 空字符串 --- 如果属性的可为NULL性未知
- SCOPE_CATALOG String
=>
引用属性范围的表的目录(如果DATA_TYPE不是REF,则为null
) - SCOPE_SCHEMA String
=>
引用属性范围的表的模式(如果DATA_TYPE不是REF,则为null
) - SCOPE_TABLE String
=>
引用属性范围的表的表名(如果DATA_TYPE不是REF,则为null
) - SOURCE_DATA_TYPE short
=>
不同类型或用户生成的Ref类型的源类型,来自java.sql.Types的SQL类型(如果DATA_TYPE不是DISTINCT或用户生成的REF,则为null
)
- 参数:
-
catalog
- 目录名称;必须与数据库中存储的目录名称匹配;""检索没有目录的;null
表示不应使用目录名称来缩小搜索范围 -
schemaPattern
- 模式名称模式;必须与数据库中存储的模式名称匹配;""检索没有模式的;null
表示不应使用模式名称来缩小搜索范围 -
typeNamePattern
- 类型名称模式;必须与数据库中存储的类型名称匹配 -
attributeNamePattern
- 属性名称模式;必须与数据库中声明的属性名称匹配 - 返回:
-
一个
ResultSet
对象,其中每一行都是一个属性描述 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自:
- 1.4
- 参见:
- TYPE_CAT String
-
supportsResultSetHoldability
检索此数据库是否支持给定的结果集可保持性。- 参数:
-
holdability
- 以下常量之一:ResultSet.HOLD_CURSORS_OVER_COMMIT
或ResultSet.CLOSE_CURSORS_AT_COMMIT
- 返回:
-
如果支持,则为
true
;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自:
- 1.4
- 参见:
-
getResultSetHoldability
检索此数据库的ResultSet
对象的默认可保持性。- 返回:
-
默认可保持性;可以是
ResultSet.HOLD_CURSORS_OVER_COMMIT
或ResultSet.CLOSE_CURSORS_AT_COMMIT
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自:
- 1.4
-
getDatabaseMajorVersion
检索底层数据库的主要版本号。- 返回:
- 底层数据库的主要版本
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自:
- 1.4
-
getDatabaseMinorVersion
检索底层数据库的次要版本号。- 返回:
- 底层数据库的次要版本
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自:
- 1.4
-
getJDBCMajorVersion
检索此驱动程序的JDBC主要版本号。- 返回:
- JDBC版本主要号
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自:
- 1.4
-
getJDBCMinorVersion
检索此驱动程序的JDBC次要版本号。- 返回:
- JDBC版本次要号
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自:
- 1.4
-
getSQLStateType
指示SQLException.getSQLState
返回的SQLSTATE是X/Open(现在称为Open Group)SQL CLI还是SQL:2003。- 返回:
- SQLSTATE的类型;其中之一:sqlStateXOpen或sqlStateSQL
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自:
- 1.4
-
locatorsUpdateCopy
指示对LOB所做的更新是在副本上进行还是直接在LOB上进行。- 返回:
-
如果更新是在LOB的副本上进行,则为
true
;如果更新是直接在LOB上进行,则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自:
- 1.4
-
supportsStatementPooling
检索此数据库是否支持语句池。- 返回:
-
如果支持,则为
true
;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自:
- 1.4
-
getRowIdLifetime
指示此数据源是否支持SQLROWID
类型,以及RowId
对象保持有效的生命周期。- 返回:
-
表示
RowId
的生命周期的状态 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自:
- 1.6
-
getSchemas
检索此数据库中可用的模式名称。结果按TABLE_CATALOG
和TABLE_SCHEM
排序。模式列为:
- TABLE_SCHEM String
=>
模式名称 - TABLE_CATALOG String
=>
目录名称(可能为null
)
- 参数:
-
catalog
- 目录名称;必须与数据库中存储的目录名称匹配;"" 检索没有目录的内容;null 表示不应使用目录名称来缩小搜索范围。 -
schemaPattern
- 模式名称;必须与数据库中存储的模式名称匹配;null 表示不应使用模式名称来缩小搜索范围。 - 返回:
-
每一行都是一个模式描述的
ResultSet
对象 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 1.6
- 参见:
- TABLE_SCHEM String
-
supportsStoredFunctionsUsingCallSyntax
检索此数据库是否支持使用存储过程转义语法调用用户定义的或供应商函数。- 返回:
-
如果支持,则为
true
;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 1.6
-
autoCommitFailureClosesAllResultSets
检索当 autoCommit 为true
时,SQLException
是否表示所有打开的 ResultSet 都已关闭,即使是可保持的 ResultSet。当 autoCommit 为true
时发生SQLException
,JDBC 驱动程序如何响应是供应商特定的,可能是提交操作、回滚操作,或者既不提交也不回滚。这种差异的潜在结果在于是否关闭可保持的 ResultSet。- 返回:
-
如果是,则为
true
;否则为false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 1.6
-
getClientInfoProperties
检索驱动程序支持的客户端信息属性列表。结果集包含以下列- NAME String
=>
客户端信息属性的名称 - MAX_LEN int
=>
属性值的最大长度 - DEFAULT_VALUE String
=>
属性的默认值 - DESCRIPTION String
=>
属性的描述。通常包含此属性在数据库中存储位置的信息。
ResultSet
按 NAME 列排序- 返回:
-
一个
ResultSet
对象;每一行是一个支持的客户端信息属性 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 1.6
- NAME String
-
getFunctions
ResultSet getFunctions(String catalog, String schemaPattern, String functionNamePattern) throws SQLException 检索给定目录中可用的系统和用户函数的描述。仅返回与模式和函数名称条件匹配的系统和用户函数描述。它们按
FUNCTION_CAT
、FUNCTION_SCHEM
、FUNCTION_NAME
和SPECIFIC_ NAME
排序。每个函数描述具有以下列:
- FUNCTION_CAT String
=>
函数目录(可能为null
) - FUNCTION_SCHEM String
=>
函数模式(可能为null
) - FUNCTION_NAME String
=>
函数名称。这是用于调用函数的名称 - REMARKS String
=>
函数的解释性注释 - FUNCTION_TYPE short
=>
函数类型:- functionResultUnknown - 无法确定是否返回返回值或表
- functionNoTable- 不返回表
- functionReturnsTable - 返回表
- SPECIFIC_NAME String
=>
在其模式中唯一标识此函数的名称。这是用户指定的或 DBMS 生成的名称,可能与FUNCTION_NAME
不同,例如重载函数
用户可能没有权限执行
getFunctions
返回的任何函数- 参数:
-
catalog
- 目录名称;必须与数据库中存储的目录名称匹配;"" 检索没有目录的内容;null
表示不应使用目录名称来缩小搜索范围 -
schemaPattern
- 模式名称模式;必须与数据库中存储的模式名称匹配;"" 检索没有模式的内容;null
表示不应使用模式名称来缩小搜索范围 -
functionNamePattern
- 过程名称模式;必须与数据库中存储的函数名称匹配 - 返回:
-
ResultSet
- 每一行是一个函数描述 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 1.6
- 参见:
- FUNCTION_CAT String
-
getFunctionColumns
ResultSet getFunctionColumns(String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern) throws SQLException 检索给定目录的系统或用户函数参数和返回类型的描述。仅返回与模式、函数和参数名称条件匹配的描述。它们按
FUNCTION_CAT
、FUNCTION_SCHEM
、FUNCTION_NAME
和SPECIFIC_ NAME
排序。其中,如果有返回值,则首先是返回值。接下来是按调用顺序的参数描述。列描述按列号顺序排列。ResultSet
中的每一行是一个参数描述、列描述或返回类型描述,具有以下字段:- FUNCTION_CAT String
=>
函数目录(可能为null
) - FUNCTION_SCHEM String
=>
函数模式(可能为null
) - FUNCTION_NAME String
=>
函数名称。这是用于调用函数的名称 - COLUMN_NAME String
=>
列/参数名称 - COLUMN_TYPE Short
=>
列/参数类型:- functionColumnUnknown - 无人知道
- functionColumnIn - 输入参数
- functionColumnInOut - 输入输出参数
- functionColumnOut - 输出参数
- functionColumnReturn - 函数返回值
- functionColumnResult - 表示参数或列是
ResultSet
中的列
- DATA_TYPE int
=>
来自 java.sql.Types 的 SQL 类型 - TYPE_NAME String
=>
SQL 类型名称,对于 UDT 类型,类型名称是完全限定的 - PRECISION int
=>
精度 - LENGTH int
=>
数据的字节长度 - SCALE short
=>
刻度 - 对于不适用 SCALE 的数据类型,返回 null。 - RADIX short
=>
基数 - NULLABLE short
=>
是否可以包含 NULL。- functionNoNulls - 不允许 NULL 值
- functionNullable - 允许 NULL 值
- functionNullableUnknown - 不明确的可为 NULL
- REMARKS String
=>
描述列/参数的注释 - CHAR_OCTET_LENGTH int
=>
二进制和字符参数或列的最大长度。对于其他数据类型,返回值为 NULL - ORDINAL_POSITION int
=>
从 1 开始的输入和输出参数的序数位置。如果此行描述函数的返回值,则返回值为 0。对于结果集列,它是结果集中列的序数位置,从 1 开始。 - IS_NULLABLE String
=>
使用 ISO 规则确定参数或列的可为 NULL。- YES --- 如果参数或列可以包含 NULL
- NO --- 如果参数或列不允许包含 NULL
- 空字符串 --- 如果参数或列的可为 NULL 未知
- SPECIFIC_NAME String
=>
在其模式中唯一标识此函数的名称。这是用户指定的或 DBMS 生成的名称,可能与FUNCTION_NAME
不同,例如重载函数
PRECISION 列表示给定参数或列的指定列大小。对于数字数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示的字符长度(假设分数秒组件的最大允许精度)。对于二进制数据,这是字节长度。对于 ROWID 数据类型,这是字节长度。对于不适用列大小的数据类型,返回 null。
- 参数:
-
catalog
- 目录名称;必须与数据库中存储的目录名称匹配;"" 检索没有目录的内容;null
表示不应使用目录名称来缩小搜索范围 -
schemaPattern
- 模式名称模式;必须与数据库中存储的模式名称匹配;"" 检索没有模式的内容;null
表示不应使用模式名称来缩小搜索范围 -
functionNamePattern
- 过程名称模式;必须与数据库中存储的函数名称匹配 -
columnNamePattern
- 参数名称模式;必须与数据库中存储的参数或列名称匹配 - 返回:
-
ResultSet
- 每一行描述一个用户函数参数、列或返回类型 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 1.6
- 参见:
- FUNCTION_CAT String
-
getPseudoColumns
ResultSet getPseudoColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQLException 检索指定目录和模式中给定表中可用的伪列或隐藏列的描述。伪列或隐藏列可能并不总是存储在表中,并且除非在查询的最外层SELECT列表中指定它们,否则在ResultSet中是不可见的。伪列或隐藏列可能不一定可以被修改。如果没有伪列或隐藏列,则返回一个空的ResultSet。仅返回与目录、模式、表和列名条件匹配的列描述。它们按
TABLE_CAT
、TABLE_SCHEM
、TABLE_NAME
和COLUMN_NAME
排序。每个列描述具有以下列:
- TABLE_CAT String
=>
表目录(可能为null
) - TABLE_SCHEM String
=>
表模式(可能为null
) - TABLE_NAME String
=>
表名 - COLUMN_NAME String
=>
列名 - DATA_TYPE int
=>
来自java.sql.Types的SQL类型 - COLUMN_SIZE int
=>
列大小。 - DECIMAL_DIGITS int
=>
小数位数。对于不适用DECIMAL_DIGITS的数据类型,返回Null。 - NUM_PREC_RADIX int
=>
基数(通常为10或2) - COLUMN_USAGE String
=>
列的允许使用方式。返回的值将对应于PseudoColumnUsage.name()
返回的枚举名称 - REMARKS String
=>
描述列的注释(可能为null
) - CHAR_OCTET_LENGTH int
=>
对于char类型,列中的最大字节数 - IS_NULLABLE String
=>
使用ISO规则确定列的可空性。- YES --- 如果列可以包含NULL
- NO --- 如果列不能包含NULL
- 空字符串 --- 如果列的可空性未知
COLUMN_SIZE列指定给定列的列大小。对于数字数据,这是最大精度。对于字符数据,这是字符的长度。对于日期时间数据类型,这是字符串表示的字符长度(假设分数秒组件的最大允许精度)。对于二进制数据,这是字节长度。对于ROWID数据类型,这是字节长度。对于不适用列大小的数据类型,返回Null。
- 参数:
-
catalog
- 目录名称;必须与数据库中存储的目录名称匹配;""检索没有目录的;null
表示不应使用目录名称来缩小搜索范围 -
schemaPattern
- 模式名称模式;必须与数据库中存储的模式名称匹配;""检索没有模式的;null
表示不应使用模式名称来缩小搜索范围 -
tableNamePattern
- 表名称模式;必须与数据库中存储的表名称匹配 -
columnNamePattern
- 列名称模式;必须与数据库中存储的列名称匹配 - 返回:
-
ResultSet
- 每行是一个列描述 - 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 1.7
- 参见:
- TABLE_CAT String
-
generatedKeyAlwaysReturned
检索生成的键是否总是在指定的自动生成键列的列名或索引有效且语句成功时返回。返回的键可能基于自动生成键的列,也可能不是。有关详细信息,请参阅您的JDBC驱动程序文档。- 返回:
-
如果是,则返回
true
;否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 1.7
-
getMaxLogicalLobSize
检索此数据库允许用于LOB
的逻辑大小的最大字节数。默认实现将返回
0
- 返回:
- 允许的最大字节数;结果为零表示没有限制或限制未知
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 1.8
-
supportsRefCursors
检索此数据库是否支持REF CURSOR。默认实现将返回
false
- 返回:
-
如果此数据库支持REF CURSOR,则返回
true
;否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 1.8
-
supportsSharding
检索此数据库是否支持分片。- 实现要求:
-
默认实现将返回
false
- 返回:
-
如果此数据库支持分片,则返回
true
;否则返回false
- 抛出:
-
SQLException
- 如果发生数据库访问错误 - 自版本:
- 9
-