- 所有父级接口:
Wrapper
此接口由驱动程序供应商实现,目的是让用户了解数据库管理系统 (DBMS) 与基于 JDBC 技术的驱动程序(“JDBC 驱动程序”)结合使用的功能。不同的关系型 DBMS 通常支持不同的特性,以不同的方式实现特性,并使用不同的数据类型。此外,驱动程序可以在 DBMS 提供的功能之上实现功能。此接口中的方法返回的信息适用于特定驱动程序和特定 DBMS 协同工作的功能。请注意,在本文档中,术语“数据库”通常用于指代驱动程序和 DBMS。
此接口的用户通常是需要发现如何处理底层 DBMS 的工具。对于旨在与多个 DBMS 一起使用的应用程序尤其如此。例如,工具可能会使用方法 getTypeInfo 来找出可以在 CREATE TABLE 语句中使用的数据类型。或者用户可以调用方法 supportsCorrelatedSubqueries 来查看是否可以使用相关子查询或 supportsBatchUpdates 来查看是否可以使用批量更新。
某些 DatabaseMetaData 方法以 ResultSet 对象的形式返回信息列表。常规的 ResultSet 方法(例如 getString 和 getInt )可用于从这些 ResultSet 对象中检索数据。如果给定形式的元数据不可用,将返回一个空的 ResultSet。 ResultSet 对象为给定方法返回的列之外的其他列可以由 JDBC 驱动程序供应商定义,并且必须由他们的访问列标签.
一些 DatabaseMetaData 方法采用字符串模式的参数。这些参数都有名称,例如 fooPattern。在一个模式字符串中,“%”表示匹配0个或多个字符的任意子串,“_”表示匹配任意一个字符。仅返回与搜索模式匹配的元数据条目。如果搜索模式参数设置为 null ,则该参数的条件将从搜索中删除。
- 自从:
- 1.1
-
字段摘要
字段修饰符和类型Field描述static 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指示参数或列是 IN 参数。static final int指示参数或列是 INOUT 参数。static final int指示参数或列是 OUT 参数。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表示该列存储 IN 参数。static final int表示该列存储 INOUT 参数。static final int表示该列存储 OUT 参数。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指示此版本列可能是也可能不是伪列。 -
方法总结
修饰符和类型方法描述boolean检索当前用户是否可以调用方法getProcedures返回的所有过程。boolean检索当前用户是否可以在SELECT语句中使用方法getTables返回的所有表。boolean在 autoCommit 为true时检索SQLException是否表示所有打开的结果集都已关闭,即使是可持有的结果集。boolean检索事务中的数据定义语句是否强制事务提交。boolean检索此数据库是否忽略事务中的数据定义语句。booleandeletesAreDetected(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) 检索引用给定表的主键列(表导出的外键)的外键列的描述。检索所有可在未加引号的标识符名称中使用的“额外”字符(那些超出 az、AZ、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) 检索表列的说明,当一行中的任何值更新时,这些列会自动更新。booleaninsertsAreDetected(int type) 通过调用方法ResultSet.rowInserted检索是否可以检测到可见行插入。boolean检索目录是否出现在完全限定表名的开头。boolean检索此数据库是否处于只读模式。boolean指示对 LOB 进行的更新是在副本上进行还是直接对 LOB 进行。boolean检索此数据库是否支持NULL和非NULL值为NULL之间的串联。boolean检索NULL值是否在末尾排序,而不考虑排序顺序。boolean检索NULL值是否在开始时排序,而不考虑排序顺序。boolean检索NULL值是否排序高。boolean检索NULL值是否排序低。booleanothersDeletesAreVisible(int type) 检索其他人所做的删除是否可见。booleanothersInsertsAreVisible(int type) 检索其他人所做的插入是否可见。booleanothersUpdatesAreVisible(int type) 检索其他人所做的更新是否可见。booleanownDeletesAreVisible(int type) 检索结果集自己的删除是否可见。booleanownInsertsAreVisible(int type) 检索结果集自己的插入是否可见。booleanownUpdatesAreVisible(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 类型转换为另一种。booleansupportsConvert(int fromType, int toType) 检索此数据库是否支持 JDBC 标量函数CONVERT以在 JDBC 类型之间进行转换来自类型和toType.boolean检索此数据库是否支持 ODBC Core 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 Minimum 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。booleansupportsResultSetConcurrency(int type, int concurrency) 检索此数据库是否支持给定的并发类型以及给定的结果集类型。booleansupportsResultSetHoldability(int holdability) 检索此数据库是否支持给定的结果集可持有性。booleansupportsResultSetType(int type) 检索此数据库是否支持给定的结果集类型。boolean检索此数据库是否支持保存点。boolean检索模式名称是否可以在数据操作语句中使用。boolean检索架构名称是否可以在索引定义语句中使用。boolean检索模式名称是否可以在特权定义语句中使用。boolean检索架构名称是否可以在过程调用语句中使用。boolean检索模式名称是否可以在表定义语句中使用。boolean检索此数据库是否支持SELECT FOR UPDATE语句。default boolean检索此数据库是否支持分片。boolean检索此数据库是否支持语句池。boolean检索此数据库是否支持使用存储过程转义语法调用用户定义或供应商函数。boolean检索此数据库是否支持使用存储过程转义语法的存储过程调用。boolean检索此数据库是否支持比较表达式中的子查询。boolean检索此数据库是否支持EXISTS表达式中的子查询。boolean检索此数据库是否支持IN表达式中的子查询。boolean检索此数据库是否支持量化表达式中的子查询。boolean检索此数据库是否支持表相关名称。booleansupportsTransactionIsolationLevel(int level) 检索此数据库是否支持给定的事务隔离级别。boolean检索此数据库是否支持事务。boolean检索此数据库是否支持 SQLUNION。boolean检索此数据库是否支持 SQLUNION ALL。booleanupdatesAreDetected(int type) 通过调用方法ResultSet.rowUpdated检索是否可以检测到可见行更新。boolean检索此数据库是否为每个表使用一个文件。boolean检索此数据库是否将表存储在本地文件中。在接口 java.sql.Wrapper 中声明的方法
isWrapperFor, unwrap
-
字段详细信息
-
procedureResultUnknown
static final int procedureResultUnknown表示不知道过程是否返回结果。getProcedures方法返回的ResultSet对象中列PROCEDURE_TYPE的可能值。- 参见:
-
procedureNoResult
static final int procedureNoResult表示该过程不返回结果。getProcedures方法返回的ResultSet对象中列PROCEDURE_TYPE的可能值。- 参见:
-
procedureReturnsResult
static final int procedureReturnsResult指示过程返回结果。getProcedures方法返回的ResultSet对象中列PROCEDURE_TYPE的可能值。- 参见:
-
procedureColumnUnknown
static final int procedureColumnUnknown表示列的类型未知。方法
getProcedureColumns返回的ResultSet中列COLUMN_TYPE的可能值。- 参见:
-
procedureColumnIn
static final int procedureColumnIn表示该列存储 IN 参数。方法
getProcedureColumns返回的ResultSet中列COLUMN_TYPE的可能值。- 参见:
-
procedureColumnInOut
static final int procedureColumnInOut表示该列存储 INOUT 参数。方法
getProcedureColumns返回的ResultSet中列COLUMN_TYPE的可能值。- 参见:
-
procedureColumnOut
static final int procedureColumnOut表示该列存储 OUT 参数。方法
getProcedureColumns返回的ResultSet中列COLUMN_TYPE的可能值。- 参见:
-
procedureColumnReturn
static final int procedureColumnReturn指示该列存储返回值。方法
getProcedureColumns返回的ResultSet中列COLUMN_TYPE的可能值。- 参见:
-
procedureColumnResult
static final int procedureColumnResult表示该列存储结果。方法
getProcedureColumns返回的ResultSet中列COLUMN_TYPE的可能值。- 参见:
-
procedureNoNulls
static final int procedureNoNulls表示不允许使用NULL值。getProcedureColumns方法返回的ResultSet对象中列NULLABLE的可能值。- 参见:
-
procedureNullable
static final int procedureNullable表示允许NULL值。getProcedureColumns方法返回的ResultSet对象中列NULLABLE的可能值。- 参见:
-
procedureNullableUnknown
static final int procedureNullableUnknown表示是否允许NULL值是未知的。getProcedureColumns方法返回的ResultSet对象中列NULLABLE的可能值。- 参见:
-
columnNoNulls
static final int columnNoNulls表示该列可能不允许NULL值。方法
getColumns返回的ResultSet中列NULLABLE的可能值。- 参见:
-
columnNullable
static final int columnNullable表示该列绝对允许NULL值。方法
getColumns返回的ResultSet中列NULLABLE的可能值。- 参见:
-
columnNullableUnknown
static final int columnNullableUnknown指示列的可空性未知。方法
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
- 参见:
-
-
方法详情
-
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 关键字的逗号分隔列表,这些关键字也不是 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
检索所有可在未加引号的标识符名称中使用的“额外”字符(那些超出 az、AZ、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 标量函数CONVERT以将一种 JDBC 类型转换为另一种。 JDBC 类型是java.sql.Types中定义的通用 SQL 数据类型。- 返回:
true如果是的话;false否则- 抛出:
SQLException- 如果发生数据库访问错误
-
supportsConvert
检索此数据库是否支持 JDBC 标量函数CONVERT以在 JDBC 类型之间进行转换来自类型和toType. 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 Minimum SQL 语法。- 返回:
true如果是的话;false否则- 抛出:
SQLException- 如果发生数据库访问错误
-
supportsCoreSQLGrammar
检索此数据库是否支持 ODBC Core 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
检索此数据库是否对外部联接提供有限支持。 (这将是true如果方法supportsFullOuterJoins返回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
检索此数据库是否支持跨提交保持语句打开。- 返回:
trueif 语句始终保持打开状态;false如果他们可能不会保持开放- 抛出:
SQLException- 如果发生数据库访问错误
-
supportsOpenStatementsAcrossRollback
检索此数据库是否支持跨回滚保持语句打开。- 返回:
trueif 语句始终保持打开状态;false如果他们可能不会保持开放- 抛出:
SQLException- 如果发生数据库访问错误
-
getMaxBinaryLiteralLength
检索此数据库允许在内联二进制文字中使用的最大十六进制字符数。- 返回:
- max 二进制文字的最大长度(十六进制字符);结果为零意味着没有限制或限制未知
- 抛出:
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是一个 noop,隔离级别是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 SQL异常 检索给定目录中可用的存储过程的描述。仅返回与架构和过程名称标准匹配的过程描述。它们按
PROCEDURE_CAT、PROCEDURE_SCHEM、PROCEDURE_NAME和SPECIFIC_ NAME排序。每个过程描述都有以下列:
- PROCEDURE_CAT字符串
=>程序目录(可能是null) - PROCEDURE_SCHEM字符串
=>过程模式(可能是null) - PROCEDURE_NAME字符串
=>过程名称 - 留作将来使用
- 留作将来使用
- 留作将来使用
- REMARKSString
=>程序的解释性注释 - PROCEDURE_TYPE简短的
=>类程序:- procedureResultUnknown - 无法确定是否会返回返回值
- procedureNoResult - 不返回返回值
- procedureReturnsResult - 返回一个返回值
- SPECIFIC_NAMEString
=>在其模式中唯一标识此过程的名称。
用户可能无权执行
getProcedures返回的任何过程- 参数:
catalog- 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的;null表示不应使用目录名称来缩小搜索范围schemaPattern- 模式名称模式;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的;null表示不应使用架构名称来缩小搜索范围procedureNamePattern- 过程名称模式;必须与存储在数据库中的过程名称相匹配- 返回:
ResultSet- 每行是一个过程描述- 抛出:
SQLException- 如果发生数据库访问错误- 参见:
- PROCEDURE_CAT字符串
-
getProcedureColumns
ResultSet getProcedureColumns(String catalog, String schemaPattern, String procedureNamePattern, String columnNamePattern) throws SQL异常 检索给定目录的存储过程参数和结果列的描述。仅返回与模式、过程和参数名称标准相匹配的描述。它们按 PROCEDURE_CAT、PROCEDURE_SCHEM、PROCEDURE_NAME 和 SPECIFIC_NAME 排序。其中,返回值(如果有)是第一个。接下来是调用顺序中的参数说明。列说明按照列号顺序排列。
ResultSet中的每一行都是参数说明或列说明,包含以下字段:- PROCEDURE_CAT字符串
=>程序目录(可能是null) - PROCEDURE_SCHEM字符串
=>过程模式(可能是null) - PROCEDURE_NAME字符串
=>过程名称 - COLUMN_NAMEString
=>列/参数名称 - COLUMN_TYPE短
=>种类的列/参数:- procedureColumnUnknown - 没人知道
- procedureColumnIn - IN 参数
- procedureColumnInOut - INOUT 参数
- procedureColumnOut - OUT 参数
- procedureColumnReturn - 过程返回值
- procedureColumnResult -
ResultSet中的结果列
- DATA_TYPEint
=>来自 java.sql.Types 的 SQL 类型 - TYPE_NAMEString
=>SQL 类型名称,对于 UDT 类型,类型名称是完全限定的 - PRECISIONint
=>精度 - LENGTHint
=>数据字节长度 - SCALEshort
=>scale - 对于 SCALE 不适用的数据类型,返回 null。 - RADIX短
=>基数 - NULLABLEshort
=>是否可以包含 NULL。- procedureNoNulls - 不允许 NULL 值
- procedureNullable - 允许 NULL 值
- procedureNullableUnknown - 可空性未知
- REMARKS字符串
=>描述参数/列的注释 - COLUMN_DEF字符串
=>列的默认值,当值用单引号括起来时应解释为字符串(可能是null)- 字符串 NULL(不包含在引号中)- 如果 NULL 被指定为默认值
- TRUNCATE(不包含在引号中)- 如果不截断就不能表示指定的默认值
- NULL - 如果未指定默认值
- SQL_DATA_TYPEint
=>保留供将来使用 - SQL_DATETIME_SUBint
=>保留供将来使用 - CHAR_OCTET_LENGTHint
=>基于二进制和字符的列的最大长度。对于任何其他数据类型,返回值为 NULL - ORDINAL_POSITIONint
=>过程的输入和输出参数的序号位置,从 1 开始。如果此行描述过程的返回值,则返回值 0。对于结果集列,它是列在结果集中从1开始的序号位置。如果有多个结果集,列序号位置是实现定义的。 - IS_NULLABLEString
=>ISO 规则用于确定列的可空性。- 是 --- 如果该列可以包含 NULL
- NO --- 如果该列不能包含 NULL
- 空字符串 --- 如果列的可空性未知
- SPECIFIC_NAME字符串
=>在其模式中唯一标识此过程的名称。
笔记:某些数据库可能不会返回过程的列描述。
PRECISION 列表示给定列的指定列大小。对于数字数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示形式的字符长度(假设小数秒部分的最大允许精度)。对于二进制数据,这是以字节为单位的长度。对于 ROWID 数据类型,这是以字节为单位的长度。对于列大小不适用的数据类型,返回 Null。
- 参数:
catalog- 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的;null表示不应使用目录名称来缩小搜索范围schemaPattern- 模式名称模式;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的;null表示不应使用架构名称来缩小搜索范围procedureNamePattern- 过程名称模式;必须与存储在数据库中的过程名称相匹配columnNamePattern- 列名模式;必须与存储在数据库中的列名相匹配- 返回:
ResultSet- 每行描述一个存储过程参数或列- 抛出:
SQLException- 如果发生数据库访问错误- 参见:
- PROCEDURE_CAT字符串
-
getTables
ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String [] types) throws SQL异常 检索给定目录中可用表的描述。仅返回与目录、模式、表名和类型条件匹配的表描述。它们按TABLE_TYPE、TABLE_CAT、TABLE_SCHEM和TABLE_NAME排序。每个表描述都有以下列:
- TABLE_CAT字符串
=>表目录(可能是null) - TABLE_SCHEM字符串
=>表模式(可能是null) - TABLE_NAMEString
=>表名 - TABLE_TYPE字符串
=>表类型。典型的类型是“TABLE”、“VIEW”、“SYSTEM TABLE”、“GLOBAL TEMPORARY”、“LOCAL TEMPORARY”、“ALIAS”、“SYNONYM”。 - REMARKS字符串
=>表的解释性注释(可能是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- 如果发生数据库访问错误- 参见:
- TABLE_CAT字符串
-
getSchemas
检索此数据库中可用的架构名称。结果按TABLE_CATALOG和TABLE_SCHEM排序。架构列是:
- TABLE_SCHEM字符串
=>架构名称 - TABLE_CATALOG字符串
=>目录名称(可能是null)
- 返回:
-
一个
ResultSet对象,其中每一行都是模式描述 - 抛出:
SQLException- 如果发生数据库访问错误
- TABLE_SCHEM字符串
-
getCatalogs
检索此数据库中可用的目录名称。结果按目录名称排序。目录栏是:
- TABLE_CATString
=>目录名
- 返回:
-
一个
ResultSet对象,其中每一行都有一个String列,它是目录名称 - 抛出:
SQLException- 如果发生数据库访问错误
- TABLE_CATString
-
getTableTypes
检索此数据库中可用的表类型。结果按表类型排序。表类型为:
- 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 SQL异常 检索指定目录中可用表列的说明。仅返回与目录、架构、表和列名称条件匹配的列描述。它们按
TABLE_CAT、TABLE_SCHEM、TABLE_NAME和ORDINAL_POSITION排序。每列描述都有以下列:
- TABLE_CAT字符串
=>表目录(可能是null) - TABLE_SCHEM字符串
=>表模式(可能是null) - TABLE_NAMEString
=>表名 - COLUMN_NAMEString
=>列名 - DATA_TYPEint
=>来自 java.sql.Types 的 SQL 类型 - TYPE_NAMEString
=>数据源相关类型名称,对于 UDT 类型名称是完全限定的 - COLUMN_SIZEint
=>列大小。 - BUFFER_LENGTH未使用。
- DECIMAL_DIGITSint
=>小数位数。对于 DECIMAL_DIGITS 不适用的数据类型,返回 Null。 - NUM_PREC_RADIXint
=>Radix(通常为 10 或 2) - NULLABLEint
=>允许为 NULL。- columnNoNulls - 可能不允许
NULL值 - columnNullable - 绝对允许
NULL值 - columnNullableUnknown - 可空性未知
- columnNoNulls - 可能不允许
- REMARKS描述列的字符串
=>注释(可能是null) - COLUMN_DEF字符串
=>列的默认值,当值用单引号括起来时应解释为字符串(可能是null) - SQL_DATA_TYPEint
=>未使用 - SQL_DATETIME_SUBint
=>未使用 - CHAR_OCTET_LENGTHint
=>对于 char 类型列中的最大字节数 - ORDINAL_POSITIONint
=>表中列的索引(从 1 开始) - IS_NULLABLEString
=>ISO 规则用于确定列的可空性。- 是 --- 如果该列可以包含 NULL
- NO --- 如果该列不能包含 NULL
- 空字符串 --- 如果列的可空性未知
- SCOPE_CATALOG字符串
=>表的目录,它是引用属性的范围(null如果 DATA_TYPE 不是 REF) - SCOPE_SCHEMA字符串
=>表的模式,它是引用属性的范围(如果 DATA_TYPE 不是 REF,则为null) - SCOPE_TABLE字符串
=>表名,这是引用属性的范围(null如果 DATA_TYPE 不是 REF) - SOURCE_DATA_TYPEshort
=>不同类型或用户生成的 Ref 类型的源类型,来自 java.sql.Types 的 SQL 类型(null如果 DATA_TYPE 不是 DISTINCT 或用户生成的 REF) - IS_AUTOINCREMENTString
=>表示该列是否自增- 是 --- 如果列自动递增
- NO --- 如果列不自动递增
- 空字符串---如果不能判断该列是否自增
- IS_GENERATEDCOLUMNString
=>表示这是否是一个生成的列- 是 --- 如果这是生成的列
- NO --- 如果这不是生成的列
- 空字符串---如果不能判断这是否是一个生成的列
COLUMN_SIZE 列指定给定列的列大小。对于数字数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示形式的字符长度(假设小数秒部分的最大允许精度)。对于二进制数据,这是以字节为单位的长度。对于 ROWID 数据类型,这是以字节为单位的长度。对于列大小不适用的数据类型,返回 Null。
- 参数:
catalog- 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的;null表示不应使用目录名称来缩小搜索范围schemaPattern- 模式名称模式;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的;null表示不应使用架构名称来缩小搜索范围tableNamePattern- 表名模式;必须与存储在数据库中的表名相匹配columnNamePattern- 列名模式;必须与存储在数据库中的列名相匹配- 返回:
ResultSet- 每一行都是一列描述- 抛出:
SQLException- 如果发生数据库访问错误- 参见:
- TABLE_CAT字符串
-
getColumnPrivileges
ResultSet getColumnPrivileges(String catalog, String schema, String table, String columnNamePattern) throws SQL异常 检索对表列的访问权限的描述。仅返回与列名条件匹配的权限。它们按 COLUMN_NAME 和 PRIVILEGE 排序。
每个权限描述都有以下列:
- TABLE_CAT字符串
=>表目录(可能是null) - TABLE_SCHEM字符串
=>表模式(可能是null) - TABLE_NAMEString
=>表名 - COLUMN_NAMEString
=>列名 - GRANTOR字符串
=>访问授予者(可能是null) - GRANTEE字符串
=>访问权限 - PRIVILEGE字符串
=>访问名称(SELECT、INSERT、UPDATE、REFERENCES,...) - IS_GRANTABLEString
=>"YES" 如果被授权者允许授权给其他人;如果不是,则为“否”;null如果未知
- 参数:
catalog- 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的;null表示不应使用目录名称来缩小搜索范围schema- 模式名称;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的;null表示不应使用架构名称来缩小搜索范围table- 表名;必须与存储在数据库中的表名相匹配columnNamePattern- 列名模式;必须与存储在数据库中的列名相匹配- 返回:
ResultSet- 每一行都是一列特权描述- 抛出:
SQLException- 如果发生数据库访问错误- 参见:
- TABLE_CAT字符串
-
getTablePrivileges
ResultSet getTablePrivileges(String catalog, String schemaPattern, String tableNamePattern) throws SQL异常 检索目录中可用的每个表的访问权限的描述。请注意,表权限适用于表中的一个或多个列。假设此特权适用于所有列是错误的(这对于某些系统可能是正确的,但并非对所有系统都是正确的。)仅返回与模式和表名标准匹配的权限。它们按
TABLE_CAT、TABLE_SCHEM、TABLE_NAME和PRIVILEGE排序。每个权限描述都有以下列:
- TABLE_CAT字符串
=>表目录(可能是null) - TABLE_SCHEM字符串
=>表模式(可能是null) - TABLE_NAMEString
=>表名 - GRANTOR字符串
=>访问授予者(可能是null) - GRANTEE字符串
=>访问权限 - PRIVILEGE字符串
=>访问名称(SELECT、INSERT、UPDATE、REFERENCES,...) - IS_GRANTABLEString
=>"YES" 如果被授权者允许授权给其他人;如果不是,则为“否”;null如果未知
- 参数:
catalog- 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的;null表示不应使用目录名称来缩小搜索范围schemaPattern- 模式名称模式;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的;null表示不应使用架构名称来缩小搜索范围tableNamePattern- 表名模式;必须与存储在数据库中的表名相匹配- 返回:
ResultSet- 每行是一个表权限描述- 抛出:
SQLException- 如果发生数据库访问错误- 参见:
- TABLE_CAT字符串
-
getBestRowIdentifier
ResultSet getBestRowIdentifier(String catalog, String schema, String table, int scope, boolean nullable) throws SQL异常 检索表中唯一标识一行的最佳列集的描述。它们按 SCOPE 排序。每列描述都有以下列:
- SCOPEshort
=>结果的实际范围- bestRowTemporary - 非常临时,同时使用行
- bestRowTransaction - 对当前事务的剩余部分有效
- bestRowSession - 对当前会话的剩余部分有效
- COLUMN_NAMEString
=>列名 - DATA_TYPEint
=>来自 java.sql.Types 的 SQL 数据类型 - TYPE_NAMEString
=>数据源相关类型名称,对于 UDT 类型名称是完全限定的 - COLUMN_SIZEint
=>精度 - BUFFER_LENGTHint
=>未使用 - DECIMAL_DIGITSshort
=>scale - 对于 DECIMAL_DIGITS 不适用的数据类型,返回 Null。 - PSEUDO_COLUMNshort
=>这是一个类似 Oracle ROWID 的伪列吗- bestRowUnknown - 可能是也可能不是伪列
- bestRowNotPseudo - 不是伪列
- bestRowPseudo - 是一个伪列
COLUMN_SIZE 列表示给定列的指定列大小。对于数字数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示形式的字符长度(假设小数秒部分的最大允许精度)。对于二进制数据,这是以字节为单位的长度。对于 ROWID 数据类型,这是以字节为单位的长度。对于列大小不适用的数据类型,返回 Null。
- 参数:
catalog- 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的;null表示不应使用目录名称来缩小搜索范围schema- 模式名称;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的;null表示不应使用架构名称来缩小搜索范围table- 表名;必须与存储在数据库中的表名相匹配scope- 感兴趣的范围;使用与 SCOPE 相同的值nullable- 包括可为空的列。- 返回:
ResultSet- 每一行都是一列描述- 抛出:
SQLException- 如果发生数据库访问错误
- SCOPEshort
-
getVersionColumns
检索表列的说明,当一行中的任何值更新时,这些列会自动更新。它们是无序的。每列描述都有以下列:
- SCOPE短
=>未使用 - COLUMN_NAMEString
=>列名 - DATA_TYPEint
=>来自java.sql.Types的 SQL 数据类型 - TYPE_NAMEString
=>依赖数据源的类型名称 - COLUMN_SIZEint
=>精度 - BUFFER_LENGTHint
=>列值的字节长度 - DECIMAL_DIGITSshort
=>scale - 对于 DECIMAL_DIGITS 不适用的数据类型,返回 Null。 - PSEUDO_COLUMNshort
=>这是否是像 Oracle ROWID 这样的伪列- versionColumnUnknown - 可能是也可能不是伪列
- versionColumnNotPseudo - 不是伪列
- versionColumnPseudo - 是一个伪列
COLUMN_SIZE 列表示给定列的指定列大小。对于数字数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示形式的字符长度(假设小数秒部分的最大允许精度)。对于二进制数据,这是以字节为单位的长度。对于 ROWID 数据类型,这是以字节为单位的长度。对于列大小不适用的数据类型,返回 Null。
- 参数:
catalog- 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的;null表示不应使用目录名称来缩小搜索范围schema- 模式名称;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的;null表示不应使用架构名称来缩小搜索范围table- 表名;必须与存储在数据库中的表名相匹配- 返回:
-
一个
ResultSet对象,其中每一行都是一列描述 - 抛出:
SQLException- 如果发生数据库访问错误
- SCOPE短
-
getPrimaryKeys
检索给定表的主键列的描述。它们按 COLUMN_NAME 排序。每个主键列描述都有以下列:
- TABLE_CAT字符串
=>表目录(可能是null) - TABLE_SCHEM字符串
=>表模式(可能是null) - TABLE_NAMEString
=>表名 - COLUMN_NAMEString
=>列名 - KEY_SEQshort
=>主键中的序列号(值 1 表示主键的第一列,值 2 表示主键中的第二列)。 - PK_NAMEString
=>主键名(可能是null)
- 参数:
catalog- 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的;null表示不应使用目录名称来缩小搜索范围schema- 模式名称;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的;null表示不应使用架构名称来缩小搜索范围table- 表名;必须与存储在数据库中的表名相匹配- 返回:
ResultSet- 每行是一个主键列描述- 抛出:
SQLException- 如果发生数据库访问错误
- TABLE_CAT字符串
-
getImportedKeys
检索给定表的外键列(表导入的主键)引用的主键列的描述。它们按 PKTABLE_CAT、PKTABLE_SCHEM、PKTABLE_NAME 和 KEY_SEQ 排序。每个主键列描述都有以下列:
- PKTABLE_CATString
=>正在导入的主键表目录(可能是null) - PKTABLE_SCHEM正在导入的字符串
=>主键表模式(可能是null) - PKTABLE_NAMEString
=>导入的主键表名 - PKCOLUMN_NAMEString
=>导入的主键列名 - FKTABLE_CATString
=>外键表目录(可能是null) - FKTABLE_SCHEM字符串
=>外键表模式(可能是null) - FKTABLE_NAMEString
=>外键表名 - FKCOLUMN_NAMEString
=>外键列名 - KEY_SEQshort
=>外键中的序列号(值为 1 表示外键的第一列,值为 2 表示外键中的第二列)。 - UPDATE_RULEshort
=>更新主键时外键会发生什么:- importedNoAction - 如果已导入,则不允许更新主键
- importedKeyCascade - 更改导入密钥以同意主密钥更新
- importedKeySetNull - 如果其主键已更新,则将导入键更改为
NULL - importedKeySetDefault - 如果其主键已更新,则将导入的键更改为默认值
- importedKeyRestrict - 与 importedKeyNoAction 相同(用于 ODBC 2.x 兼容性)
- DELETE_RULEshort
=>删除主键时外键会发生什么情况。- importedKeyNoAction - 如果已导入,则不允许删除主键
- importedKeyCascade - 删除导入已删除键的行
- importedKeySetNull - 如果其主键已被删除,则将导入键更改为 NULL
- importedKeyRestrict - 与 importedKeyNoAction 相同(用于 ODBC 2.x 兼容性)
- importedKeySetDefault - 如果其主键已被删除,则将导入键更改为默认值
- FK_NAME字符串
=>外键名(可能是null) - PK_NAMEString
=>主键名(可能是null) - DEFERRABILITYshort
=>外键约束的评估是否可以推迟到提交- importedKeyInitiallyDeferred - 参见 SQL92 的定义
- importedKeyInitiallyImmediate - 参见 SQL92 的定义
- importedKeyNotDeferrable - 参见 SQL92 的定义
- 参数:
catalog- 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的;null表示不应使用目录名称来缩小搜索范围schema- 模式名称;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的;null表示不应使用架构名称来缩小搜索范围table- 表名;必须与存储在数据库中的表名相匹配- 返回:
ResultSet- 每行是一个主键列描述- 抛出:
SQLException- 如果发生数据库访问错误- 参见:
- PKTABLE_CATString
-
getExportedKeys
检索引用给定表的主键列(表导出的外键)的外键列的描述。它们按 FKTABLE_CAT、FKTABLE_SCHEM、FKTABLE_NAME 和 KEY_SEQ 排序。每个外键列描述都有以下列:
- PKTABLE_CATString
=>主键表目录(可能是null) - PKTABLE_SCHEM字符串
=>主键表模式(可能是null) - PKTABLE_NAMEString
=>主键表名 - PKCOLUMN_NAMEString
=>主键列名 - FKTABLE_CAT正在导出的字符串
=>外键表目录(可能是null)(可能是null) - FKTABLE_SCHEM正在导出的字符串
=>外键表模式(可能是null)(可能是null) - FKTABLE_NAMEString
=>导出的外键表名 - FKCOLUMN_NAME正在导出的字符串
=>外键列名 - KEY_SEQshort
=>外键中的序列号(值为 1 表示外键的第一列,值为 2 表示外键中的第二列)。 - UPDATE_RULEshort
=>主更新时外键会发生什么:- importedNoAction - 如果已导入,则不允许更新主键
- importedKeyCascade - 更改导入密钥以同意主密钥更新
- importedKeySetNull - 如果其主键已更新,则将导入键更改为
NULL - importedKeySetDefault - 如果其主键已更新,则将导入的键更改为默认值
- importedKeyRestrict - 与 importedKeyNoAction 相同(用于 ODBC 2.x 兼容性)
- DELETE_RULEshort
=>删除主键时外键会发生什么情况。- importedKeyNoAction - 如果已导入,则不允许删除主键
- importedKeyCascade - 删除导入已删除键的行
- importedKeySetNull - 如果其主键已被删除,则将导入键更改为
NULL - importedKeyRestrict - 与 importedKeyNoAction 相同(用于 ODBC 2.x 兼容性)
- importedKeySetDefault - 如果其主键已被删除,则将导入键更改为默认值
- FK_NAME字符串
=>外键名(可能是null) - PK_NAMEString
=>主键名(可能是null) - DEFERRABILITYshort
=>外键约束的评估是否可以推迟到提交- importedKeyInitiallyDeferred - 参见 SQL92 的定义
- importedKeyInitiallyImmediate - 参见 SQL92 的定义
- importedKeyNotDeferrable - 参见 SQL92 的定义
- 参数:
catalog- 目录名称;必须与存储在此数据库中的目录名称相匹配; "" 检索那些没有目录的;null表示不应使用目录名称来缩小搜索范围schema- 模式名称;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的;null表示不应使用架构名称来缩小搜索范围table- 表名;必须与存储在此数据库中的表名相匹配- 返回:
-
一个
ResultSet对象,其中每一行都是一个外键列描述 - 抛出:
SQLException- 如果发生数据库访问错误- 参见:
- PKTABLE_CATString
-
getCrossReference
ResultSet getCrossReference(String parentCatalog, String parentSchema, String parentTable, String foreignCatalog, String foreignSchema, String foreignTable) throws SQL异常 检索给定外键表中引用主键的外键列的描述或表示父表(可以是相同或不同的表)的唯一约束的列。从父表返回的列数必须与构成外键的列数相匹配。它们按 FKTABLE_CAT、FKTABLE_SCHEM、FKTABLE_NAME 和 KEY_SEQ 排序。每个外键列描述都有以下列:
- PKTABLE_CATString
=>父键表目录(可能是null) - PKTABLE_SCHEM字符串
=>父键表架构(可能是null) - PKTABLE_NAMEString
=>父键表名 - PKCOLUMN_NAMEString
=>父键列名 - FKTABLE_CAT正在导出的字符串
=>外键表目录(可能是null)(可能是null) - FKTABLE_SCHEM正在导出的字符串
=>外键表模式(可能是null)(可能是null) - FKTABLE_NAMEString
=>导出的外键表名 - FKCOLUMN_NAME正在导出的字符串
=>外键列名 - KEY_SEQshort
=>外键中的序列号(值为 1 表示外键的第一列,值为 2 表示外键中的第二列)。 - UPDATE_RULEshort
=>更新父键时外键会发生什么:- importedNoAction - 如果已导入则不允许更新父键
- importedKeyCascade - 更改导入密钥以同意父密钥更新
- importedKeySetNull - 如果其父密钥已更新,则将导入的密钥更改为
NULL - importedKeySetDefault - 如果其父键已更新,则将导入键更改为默认值
- importedKeyRestrict - 与 importedKeyNoAction 相同(用于 ODBC 2.x 兼容性)
- DELETE_RULEshort
=>删除父键时外键会发生什么情况。- importedKeyNoAction - 如果已导入则不允许删除父密钥
- importedKeyCascade - 删除导入已删除键的行
- importedKeySetNull - 如果其主键已被删除,则将导入键更改为
NULL - importedKeyRestrict - 与 importedKeyNoAction 相同(用于 ODBC 2.x 兼容性)
- importedKeySetDefault - 如果其父密钥已被删除,则将导入的密钥更改为默认值
- FK_NAME字符串
=>外键名(可能是null) - PK_NAME字符串
=>父键名(可能是null) - DEFERRABILITYshort
=>外键约束的评估是否可以推迟到提交- importedKeyInitiallyDeferred - 参见 SQL92 的定义
- importedKeyInitiallyImmediate - 参见 SQL92 的定义
- importedKeyNotDeferrable - 参见 SQL92 的定义
- 参数:
parentCatalog- 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的;null表示从选择标准中删除目录名称parentSchema- 模式名称;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的;null表示从选择标准中删除架构名称parentTable- 导出key的表名;必须与存储在数据库中的表名相匹配foreignCatalog- 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的;null表示从选择标准中删除目录名称foreignSchema- 模式名称;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的;null表示从选择标准中删除架构名称foreignTable- 导入key的表名;必须与存储在数据库中的表名相匹配- 返回:
ResultSet- 每行是一个外键列描述- 抛出:
SQLException- 如果发生数据库访问错误- 参见:
- PKTABLE_CATString
-
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字符串
=>类型名称 - DATA_TYPEint
=>来自 java.sql.Types 的 SQL 数据类型 - PRECISIONint
=>最大精度 - LITERAL_PREFIX用于引用文字的字符串
=>前缀(可能是null) - LITERAL_SUFFIX字符串
=>后缀用于引用文字(可能是null) - CREATE_PARAMS用于创建类型的字符串
=>参数(可能是null) - NULLABLEshort
=>你能为这种类型使用 NULL 吗?- typeNoNulls - 不允许 NULL 值
- typeNullable - 允许 NULL 值
- typeNullableUnknown - 可空性未知
- CASE_SENSITIVEboolean
=>是否区分大小写。 - SEARCHABLEshort
=>你能根据这种类型使用“WHERE”吗:- typePredNone - 不支持
- typePredChar - 仅支持 WHERE .. LIKE
- typePredBasic - 支持,除了 WHERE .. LIKE
- typeSearchable - 支持所有 WHERE ..
- UNSIGNED_ATTRIBUTEboolean
=>是否未签名。 - FIXED_PREC_SCALEboolean
=>可以是货币值吗? - AUTO_INCREMENTboolean
=>是否可以用于自动增量值。 - LOCAL_TYPE_NAME字符串
=>类型名称的本地化版本(可能是null) - MINIMUM_SCALEshort
=>支持的最小比例 - MAXIMUM_SCALEshort
=>支持的最大规模 - SQL_DATA_TYPEint
=>未使用 - SQL_DATETIME_SUBint
=>未使用 - NUM_PREC_RADIXint
=>通常为 2 或 10
PRECISION 列表示服务支持给定数据类型的最大列大小。对于数字数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示形式的字符长度(假设小数秒部分的最大允许精度)。对于二进制数据,这是以字节为单位的长度。对于 ROWID 数据类型,这是以字节为单位的长度。对于列大小不适用的数据类型,返回 Null。
- 返回:
-
一个
ResultSet对象,其中每一行都是一个 SQL 类型描述 - 抛出:
SQLException- 如果发生数据库访问错误
- TYPE_NAME字符串
-
getIndexInfo
ResultSet getIndexInfo(String catalog, String schema, String table, boolean unique, boolean approximate) throws SQL异常 检索给定表的索引和统计信息的描述。它们按 NON_UNIQUE、TYPE、INDEX_NAME 和 ORDINAL_POSITION 排序。每个索引列描述都有以下列:
- TABLE_CAT字符串
=>表目录(可能是null) - TABLE_SCHEM字符串
=>表模式(可能是null) - TABLE_NAMEString
=>表名 - NON_UNIQUEboolean
=>索引值可以是非唯一的。当 TYPE 为 tableIndexStatistic 时为 false - INDEX_QUALIFIERString
=>索引目录(可能是null);null当 TYPE 是 tableIndexStatistic - INDEX_NAMEString
=>索引名称;null当 TYPE 是 tableIndexStatistic - TYPE短
=>索引类型:- tableIndexStatistic - 这标识了与表的索引描述一起返回的表统计信息
- tableIndexClustered - 这是一个聚集索引
- tableIndexHashed - 这是一个哈希索引
- tableIndexOther - 这是一些其他风格的索引
- ORDINAL_POSITION索引中的短
=>列序列号;当 TYPE 为 tableIndexStatistic 时为零 - COLUMN_NAMEString
=>列名;null当 TYPE 是 tableIndexStatistic - ASC_OR_DESCString
=>列排序顺序,“A”=>升序,“D”=>降序,如果不支持排序顺序可能是null;null当 TYPE 是 tableIndexStatistic - CARDINALITYlong
=>当 TYPE 为 tableIndexStatistic 时,则为表中的行数;否则,它是索引中唯一值的数量。 - PAGESlong
=>当 TYPE 为 tableIndexStatistic 时,这是用于表的页数,否则它是用于当前索引的页数。 - FILTER_CONDITIONString
=>过滤条件,如果有的话。 (可能是null)
- 参数:
catalog- 目录名称;必须与存储在此数据库中的目录名称相匹配; "" 检索那些没有目录的;null表示不应使用目录名称来缩小搜索范围schema- 模式名称;必须与存储在此数据库中的架构名称相匹配; "" 检索那些没有架构的;null表示不应使用架构名称来缩小搜索范围table- 表名;必须与存储在此数据库中的表名相匹配unique- 当为真时,只返回唯一值的索引;当 false 时,无论是否唯一都返回索引approximate- 当为真时,允许结果反映近似值或超出数据值;如果为假,则要求结果准确- 返回:
ResultSet- 每行是一个索引列描述- 抛出:
SQLException- 如果发生数据库访问错误
- TABLE_CAT字符串
-
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
检索其他人所做的更新是否可见。- 参数:
type-ResultSet类型;ResultSet.TYPE_FORWARD_ONLY、ResultSet.TYPE_SCROLL_INSENSITIVE或ResultSet.TYPE_SCROLL_SENSITIVE之一- 返回:
true如果其他人所做的更新对于给定的结果集类型可见;false否则- 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.2
-
othersDeletesAreVisible
检索其他人所做的删除是否可见。- 参数:
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 SQL异常 检索在特定模式中定义的用户定义类型 (UDT) 的描述。特定于架构的 UDT 可能具有类型JAVA_OBJECT、STRUCT或DISTINCT。仅返回与目录、模式、类型名称和类型标准匹配的类型。它们按
DATA_TYPE、TYPE_CAT、TYPE_SCHEM和TYPE_NAME排序。类型名称参数可以是完全限定名称。在这种情况下,catalog 和 schemaPattern 参数将被忽略。每个类型描述都有以下列:
- TYPE_CATString
=>类型的目录(可能是null) - TYPE_SCHEM字符串
=>类型的架构(可能是null) - TYPE_NAMEString
=>类型名称 - CLASS_NAMEString
=>Java 类名 - DATA_TYPEint
=>java.sql.Types 中定义的类型值。 JAVA_OBJECT、STRUCT 或 DISTINCT 之一 - REMARKSString
=>类型的解释性注释 - BASE_TYPEshort
=>DISTINCT 类型的源类型的类型代码或实现用户生成的 SELF_REFERENCING_COLUMN 的引用类型的类型,如 java.sql.Types 中定义的结构化类型(null如果 DATA_TYPE 不是 DISTINCT 或不是带有 REFERENCE_GENERATION 的 STRUCT = USER_DEFINED)
笔记:如果驱动程序不支持 UDT,则返回空结果集。
- 参数:
catalog- 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的;null表示不应使用目录名称来缩小搜索范围schemaPattern- 模式模式名称;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的;null表示不应使用架构名称来缩小搜索范围typeNamePattern- 类型名称模式;必须与存储在数据库中的类型名称相匹配;可能是完全合格的名称types- 要包含的用户定义类型(JAVA_OBJECT、STRUCT 或 DISTINCT)的列表;null返回所有类型- 返回:
ResultSet对象,其中每一行描述一个 UDT- 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.2
- 参见:
- TYPE_CATString
-
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
检索在此数据库的特定模式中定义的用户定义类型 (UDT) 层次结构的描述。只有直接的超类型/子类型关系被建模。仅返回与目录、架构和类型名称匹配的 UDT 的超类型信息。类型名称参数可以是完全限定名称。当提供的 UDT 名称是完全限定名称时,将忽略 catalog 和 schemaPattern 参数。
如果 UDT 没有直接超类型,则不会在此处列出。此方法返回的
ResultSet对象的一行描述了指定的 UDT 和直接超类型。一行包含以下列:- TYPE_CATString
=>UDT 的目录(可能是null) - TYPE_SCHEM字符串
=>UDT 的架构(可能是null) - TYPE_NAMEString
=>UDT类型名称 - SUPERTYPE_CATString
=>直接超类型的目录(可能是null) - SUPERTYPE_SCHEMString
=>直接超类型的模式(可能是null) - SUPERTYPE_NAMEString
=>直接超类型的名称
笔记:如果驱动程序不支持类型层次结构,则返回空结果集。
- 参数:
catalog- 目录名称; "" 检索那些没有目录的;null表示从选择标准中删除目录名称schemaPattern- 模式名称模式; "" 检索那些没有模式的typeNamePattern- UDT 名称模式;可能是一个完全合格的名字- 返回:
-
一个
ResultSet对象,其中一行提供有关指定 UDT 的信息 - 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.4
- 参见:
- TYPE_CATString
-
getSuperTables
ResultSet getSuperTables(String catalog, String schemaPattern, String tableNamePattern) throws SQL异常 检索在此数据库的特定模式中定义的表层次结构的描述。仅返回与目录、模式和表名匹配的表的超表信息。表名参数可以是完全限定名称,在这种情况下,将忽略 catalog 和 schemaPattern 参数。如果一个表没有超级表,则不在此处列出。必须在与子表相同的目录和架构中定义超级表。因此,类型描述不需要为超表包含此信息。
每个类型描述都有以下列:
- TABLE_CATString
=>类型的目录(可能是null) - TABLE_SCHEM字符串
=>类型的架构(可能是null) - TABLE_NAMEString
=>类型名称 - SUPERTABLE_NAMEString
=>直接超类型的名称
笔记:如果驱动程序不支持类型层次结构,则返回空结果集。
- 参数:
catalog- 目录名称; "" 检索那些没有目录的;null表示从选择标准中删除目录名称schemaPattern- 模式名称模式; "" 检索那些没有模式的tableNamePattern- 表名模式;可能是一个完全合格的名字- 返回:
-
一个
ResultSet对象,其中每一行都是一个类型描述 - 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.4
- 参见:
- TABLE_CATString
-
getAttributes
ResultSet getAttributes(String catalog, String schemaPattern, String typeNamePattern, String attributeNamePattern) throws SQL异常 检索给定模式和目录中可用的用户定义类型 (UDT) 的给定类型的给定属性的描述。仅为匹配目录、模式、类型和属性名称标准的 UDT 的属性返回说明。它们按
TYPE_CAT、TYPE_SCHEM、TYPE_NAME和ORDINAL_POSITION排序。此描述不包含继承的属性。返回的
ResultSet对象具有以下列:- TYPE_CATString
=>类型目录(可能是null) - TYPE_SCHEM字符串
=>类型架构(可能是null) - TYPE_NAMEString
=>类型名称 - ATTR_NAMEString
=>属性名 - DATA_TYPEint
=>属性类型 来自 java.sql.Types 的 SQL 类型 - ATTR_TYPE_NAMEString
=>数据源相关类型名称。对于 UDT,类型名称是完全限定的。对于 REF,类型名称是完全限定的,代表引用类型的目标类型。 - ATTR_SIZEint
=>列大小。对于 char 或 date 类型,这是最大字符数;对于数字或小数类型,这是精度。 - DECIMAL_DIGITSint
=>小数位数。对于 DECIMAL_DIGITS 不适用的数据类型,返回 Null。 - NUM_PREC_RADIXint
=>Radix(通常为 10 或 2) - NULLABLEint
=>是否允许NULL- attributeNoNulls - 可能不允许 NULL 值
- attributeNullable - 绝对允许 NULL 值
- attributeNullableUnknown - 可空性未知
- REMARKS描述列的字符串
=>注释(可能是null) - ATTR_DEF字符串
=>默认值(可能是null) - SQL_DATA_TYPEint
=>未使用 - SQL_DATETIME_SUBint
=>未使用 - CHAR_OCTET_LENGTHint
=>对于 char 类型列中的最大字节数 - ORDINAL_POSITIONint
=>UDT 中属性的索引(从 1 开始) - IS_NULLABLE字符串
=>ISO 规则用于确定属性的可空性。- 是 --- 如果属性可以包含 NULL
- NO --- 如果属性不能包含 NULL
- 空字符串 --- 如果属性的可空性未知
- SCOPE_CATALOG字符串
=>表的目录,它是引用属性的范围(null如果 DATA_TYPE 不是 REF) - SCOPE_SCHEMA字符串
=>表的模式,它是引用属性的范围(null如果 DATA_TYPE 不是 REF) - SCOPE_TABLE字符串
=>表名,它是引用属性的范围(如果 DATA_TYPE 不是 REF,则为null) - SOURCE_DATA_TYPEshort
=>不同类型或用户生成的 Ref 类型的源类型,来自 java.sql.Types 的 SQL 类型(null如果 DATA_TYPE 不是 DISTINCT 或用户生成的 REF)
- 参数:
catalog- 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的;null表示不应使用目录名称来缩小搜索范围schemaPattern- 模式名称模式;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的;null表示不应使用架构名称来缩小搜索范围typeNamePattern- 类型名称模式;必须与存储在数据库中的类型名称相匹配attributeNamePattern- 属性名称模式;必须与数据库中声明的属性名称相匹配- 返回:
-
一个
ResultSet对象,其中每一行都是一个属性描述 - 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.4
- 参见:
- TYPE_CATString
-
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 进行。- 返回:
true如果对 LOB 的副本进行更新;false如果直接对 LOB 进行更新- 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.4
-
supportsStatementPooling
检索此数据库是否支持语句池。- 返回:
true如果是的话;false否则- 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.4
-
getRowIdLifetime
指示此数据源是否支持 SQLROWID类型,以及RowId对象保持有效的生命周期。- 返回:
-
指示
RowId生命周期的状态 - 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.6
-
getSchemas
检索此数据库中可用的架构名称。结果按TABLE_CATALOG和TABLE_SCHEM排序。架构列是:
- TABLE_SCHEM字符串
=>架构名称 - TABLE_CATALOG字符串
=>目录名称(可能是null)
- 参数:
catalog- 目录名称;必须与存储在数据库中的目录名称相匹配;"" 检索那些没有目录的名称; null 表示不应使用目录名称来缩小搜索范围。schemaPattern- 模式名称;必须与存储在数据库中的模式名称相匹配; null 表示不应使用架构名称来缩小搜索范围。- 返回:
-
一个
ResultSet对象,其中每一行都是模式描述 - 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.6
- 参见:
- TABLE_SCHEM字符串
-
supportsStoredFunctionsUsingCallSyntax
检索此数据库是否支持使用存储过程转义语法调用用户定义或供应商函数。- 返回:
true如果是的话;false否则- 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.6
-
autoCommitFailureClosesAllResultSets
在 autoCommit 为true时检索SQLException是否表示所有打开的结果集都已关闭,即使是可持有的结果集。当SQLException发生而自动提交为true时,JDBC 驱动程序是响应提交操作、回滚操作,还是既不执行提交也不执行回滚,这取决于供应商。这种差异的一个潜在结果是可持有的 ResultSets 是否被关闭。- 返回:
true如果是的话;false否则- 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.6
-
getClientInfoProperties
检索驱动程序支持的客户端信息属性的列表。结果集包含以下列- NAMEString
=>客户端信息属性的名称 - MAX_LENint
=>属性值的最大长度 - DEFAULT_VALUEString
=>属性的默认值 - DESCRIPTIONString
=>属性的描述。这通常包含有关此属性在数据库中的存储位置的信息。
ResultSet按 NAME 列排序- 返回:
-
一个
ResultSet对象;每行都是受支持的客户端信息属性 - 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.6
- NAMEString
-
getFunctions
ResultSet getFunctions(String catalog, String schemaPattern, String functionNamePattern) throws SQL异常 检索给定目录中可用的系统和用户功能的描述。仅返回与架构和函数名称标准匹配的系统和用户函数描述。它们按
FUNCTION_CAT、FUNCTION_SCHEM、FUNCTION_NAME和SPECIFIC_ NAME排序。每个函数描述都有以下列:
- FUNCTION_CAT字符串
=>函数目录(可能是null) - FUNCTION_SCHEM字符串
=>函数模式(可能是null) - FUNCTION_NAME字符串
=>函数名。这是用于调用函数的名称 - REMARKSString
=>函数的解释性注释 - FUNCTION_TYPEshort
=>函数种类:- functionResultUnknown - 无法确定是否返回值或表
- functionNoTable- 不返回表
- functionReturnsTable - 返回一个表
- SPECIFIC_NAMEString
=>在其架构中唯一标识此函数的名称。这是用户指定的或 DBMS 生成的名称,可能与FUNCTION_NAME不同,例如具有重载函数
用户可能无权执行
getFunctions返回的任何函数- 参数:
catalog- 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的;null表示不应使用目录名称来缩小搜索范围schemaPattern- 模式名称模式;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的;null表示不应使用架构名称来缩小搜索范围functionNamePattern- 函数名称模式;必须与存储在数据库中的函数名称相匹配- 返回:
ResultSet- 每行是一个函数描述- 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.6
- 参见:
- FUNCTION_CAT字符串
-
getFunctionColumns
ResultSet getFunctionColumns(String catalog, String schemaPattern, String functionNamePattern, String columnNamePattern) throws SQL异常 检索给定目录的系统或用户函数参数和返回类型的描述。仅返回与架构、函数和参数名称标准匹配的描述。它们按
FUNCTION_CAT、FUNCTION_SCHEM、FUNCTION_NAME和SPECIFIC_ NAME排序。其中,返回值(如果有)是第一个。接下来是调用顺序中的参数说明。列说明按照列号顺序排列。ResultSet中的每一行都是参数说明、列说明或返回类型说明,包含以下字段:- FUNCTION_CAT字符串
=>函数目录(可能是null) - FUNCTION_SCHEM字符串
=>函数模式(可能是null) - FUNCTION_NAME字符串
=>函数名。这是用于调用函数的名称 - COLUMN_NAMEString
=>列/参数名称 - COLUMN_TYPE短
=>种类的列/参数:- functionColumnUnknown - 没人知道
- functionColumnIn - IN 参数
- functionColumnInOut - INOUT 参数
- functionColumnOut - 输出参数
- functionColumnReturn - 函数返回值
- functionColumnResult - 表示参数或列是
ResultSet中的列
- DATA_TYPEint
=>来自 java.sql.Types 的 SQL 类型 - TYPE_NAMEString
=>SQL 类型名称,对于 UDT 类型,类型名称是完全限定的 - PRECISIONint
=>精度 - LENGTHint
=>数据字节长度 - SCALEshort
=>scale - 对于 SCALE 不适用的数据类型,返回 null。 - RADIX短
=>基数 - NULLABLEshort
=>是否可以包含 NULL。- functionNoNulls - 不允许 NULL 值
- functionNullable - 允许 NULL 值
- functionNullableUnknown - 可空性未知
- REMARKS描述列/参数的字符串
=>注释 - CHAR_OCTET_LENGTHint
=>基于二进制和字符的参数或列的最大长度。对于任何其他数据类型,返回值为 NULL - ORDINAL_POSITIONint
=>输入输出参数的序号位置,从1开始。如果此行描述函数的返回值,则返回值 0。对于结果集列,是该列在结果集中的序号位置,从1开始。 - IS_NULLABLE字符串
=>ISO 规则用于确定参数或列的可空性。- 是 --- 如果参数或列可以包含 NULL
- NO --- 如果参数或列不能包含 NULL
- 空字符串 --- 如果参数或列的可空性未知
- SPECIFIC_NAMEString
=>在其架构中唯一标识此函数的名称。这是用户指定的或 DBMS 生成的名称,可能与FUNCTION_NAME不同,例如具有重载函数
PRECISION 列表示给定参数或列的指定列大小。对于数字数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示形式的字符长度(假设小数秒部分的最大允许精度)。对于二进制数据,这是以字节为单位的长度。对于 ROWID 数据类型,这是以字节为单位的长度。对于列大小不适用的数据类型,返回 Null。
- 参数:
catalog- 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的;null表示不应使用目录名称来缩小搜索范围schemaPattern- 模式名称模式;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的;null表示不应使用架构名称来缩小搜索范围functionNamePattern- 过程名称模式;必须与存储在数据库中的函数名称相匹配columnNamePattern- 参数名称模式;必须与存储在数据库中的参数或列名相匹配- 返回:
ResultSet- 每行描述一个用户函数参数、列或返回类型- 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.6
- 参见:
- FUNCTION_CAT字符串
-
getPseudoColumns
ResultSet getPseudoColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) throws SQL异常 检索指定目录和模式中给定表中可用的伪列或隐藏列的描述。伪列或隐藏列可能并不总是存储在表中,并且在 ResultSet 中不可见,除非它们在查询的最外层 SELECT 列表中指定。伪列或隐藏列不一定能够修改。如果没有伪列或隐藏列,则返回一个空的 ResultSet。仅返回与目录、架构、表和列名称条件匹配的列描述。它们按
TABLE_CAT、TABLE_SCHEM、TABLE_NAME和COLUMN_NAME排序。每列描述都有以下列:
- TABLE_CAT字符串
=>表目录(可能是null) - TABLE_SCHEM字符串
=>表模式(可能是null) - TABLE_NAMEString
=>表名 - COLUMN_NAMEString
=>列名 - DATA_TYPEint
=>来自 java.sql.Types 的 SQL 类型 - COLUMN_SIZEint
=>列大小。 - DECIMAL_DIGITSint
=>小数位数。对于 DECIMAL_DIGITS 不适用的数据类型,返回 Null。 - NUM_PREC_RADIXint
=>Radix(通常为 10 或 2) - COLUMN_USAGEString
=>列的允许用法。返回的值将对应于PseudoColumnUsage.name()返回的枚举名称 - REMARKS描述列的字符串
=>注释(可能是null) - CHAR_OCTET_LENGTHint
=>对于 char 类型列中的最大字节数 - IS_NULLABLEString
=>ISO 规则用于确定列的可空性。- 是 --- 如果该列可以包含 NULL
- NO --- 如果该列不能包含 NULL
- 空字符串 --- 如果列的可空性未知
COLUMN_SIZE 列指定给定列的列大小。对于数字数据,这是最大精度。对于字符数据,这是字符长度。对于日期时间数据类型,这是字符串表示形式的字符长度(假设小数秒部分的最大允许精度)。对于二进制数据,这是以字节为单位的长度。对于 ROWID 数据类型,这是以字节为单位的长度。对于列大小不适用的数据类型,返回 Null。
- 参数:
catalog- 目录名称;必须与存储在数据库中的目录名称相匹配; "" 检索那些没有目录的;null表示不应使用目录名称来缩小搜索范围schemaPattern- 模式名称模式;必须与存储在数据库中的模式名称相匹配; "" 检索那些没有架构的;null表示不应使用架构名称来缩小搜索范围tableNamePattern- 表名模式;必须与存储在数据库中的表名相匹配columnNamePattern- 列名模式;必须与存储在数据库中的列名相匹配- 返回:
ResultSet- 每一行都是一列描述- 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.7
- 参见:
- TABLE_CAT字符串
-
generatedKeyAlwaysReturned
如果为自动生成的键列指定的列名或索引有效且语句成功,则检索是否始终返回生成的键。返回的键可能基于也可能不基于自动生成键的列。有关其他详细信息,请参阅您的 JDBC 驱动程序文档。- 返回:
true如果是的话;false否则- 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.7
-
getMaxLogicalLobSize
检索此数据库允许LOB的逻辑大小的最大字节数。默认实现将返回
0- 返回:
- 允许的最大字节数;结果为零意味着没有限制或限制未知
- 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.8
-
supportsRefCursors
检索此数据库是否支持 REF CURSOR。默认实现将返回
false- 返回:
true如果此数据库支持 REF CURSOR;false否则- 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 1.8
-
supportsSharding
检索此数据库是否支持分片。- 实现要求:
-
默认实现将返回
false - 返回:
true如果这个数据库支持分片;false否则- 抛出:
SQLException- 如果发生数据库访问错误- 自从:
- 9
-