• 相关软件
    >DatabaseMetaData 创建者:webmaster 更新时间:2005-12-17 02:10



    接口 java.sql.DatabaseMetaData


    public interface DatabaseMetaData


    该类提供了关于数据库的整体信息。

    这里的许多方法将在 ResultSets 中返回信息列表。可以使用一般的 ResultSet 方法如 getString 和 getInt 从这些 ResultSet 中检索数据。如果给定的元数据格式是不可用的,这些方法将抛出一个 SQLException。

    有些方法采用 String 模式的参数。这些参数都具有诸如 fooPattern 的名称。在一个模式字符串中,"%" 表示匹配任意由 0 个或多个字符组成的子字符串,"_" 表示匹配任意一个字符。只返回与搜索模式匹配的元数据项。如果将一个搜索模式参数设置为 null 引用,这意味着将从搜索中删除该参数的标准。

    如果驱动程序不支持元数据方法,将抛出一个 SQLException。在方法返回一个 ResultSet 的情况下,将返回一个 ResultSet ( 它可能为空 )
    或者抛出一个 SQLException。






    变量索引



    bestRowNotPseudo
    BEST ROW PSEUDO_COLUMN - 不是一个伪列。
    bestRowPseudo
    BEST ROW PSEUDO_COLUMN - 是一个伪列。
    bestRowSession
    BEST ROW SCOPE - 对于当前会话的剩余行有效。
    bestRowTemporary
    BEST ROW SCOPE - 当使用行时,是暂时的。
    bestRowTransaction
    BEST ROW SCOPE - 对于当前事务的剩余行有效。
    bestRowUnknown
    BEST ROW PSEUDO_COLUMN - 可能是或不是伪列。
    columnNoNulls
    COLUMN NULLABLE - 可能不允许 NULL 值。
    columnNullable
    COLUMN NULLABLE - 明确的允许 NULL 值。
    columnNullableUnknown
    COLUMN NULLABLE - 不知道是否允许 NULL 值。
    importedKeyCascade
    IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 对于更新,将改变导入的关键字使它与主关键字的更新保持一致;对于删除,将删除导入了已删除关键字的行。
    importedKeyInitiallyDeferred
    IMPORT KEY DEFERRABILITY - 关于定义请参见 SQL92。
    importedKeyInitiallyImmediate
    IMPORT KEY DEFERRABILITY - 关于定义请参见 SQL92。
    importedKeyNoAction
    IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果它已经被导入,不允许更新或删除主关键字。
    importedKeyNotDeferrable
    IMPORT KEY DEFERRABILITY - 关于定义请参见 SQL92。
    importedKeyRestrict
    IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果它已经被导入,不允许更新或删除主关键字。
    importedKeySetDefault
    IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果主关键字已经被更新或删除,把导入的关键字改为缺省值。
    importedKeySetNull
    IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果主关键字已经被更新或删除,把导入的关键字改为 NULL。
    procedureColumnIn
    COLUMN_TYPE - IN 参数。
    procedureColumnInOut
    COLUMN_TYPE - INOUT 参数。
    procedureColumnOut
    COLUMN_TYPE - OUT 参数。
    procedureColumnResult
    COLUMN_TYPE - ResultSet 中的结果列。
    procedureColumnReturn
    COLUMN_TYPE - 过程返回值。
    procedureColumnUnknown
    COLUMN_TYPE - 未知值。
    procedureNoNulls
    TYPE NULLABLE - 不允许 NULL 值。
    procedureNoResult
    PROCEDURE_TYPE - 不返回结果。
    procedureNullable
    TYPE NULLABLE - 允许 NULL 值。
    procedureNullableUnknown
    TYPE NULLABLE - 不知道是否允许 NULL 值。
    procedureResultUnknown
    PROCEDURE_TYPE - 可能返回一个结果。
    procedureReturnsResult
    PROCEDURE_TYPE - 返回结果。
    tableIndexClustered
    INDEX INFO TYPE - 它定义了一个分簇的索引。
    tableIndexHashed
    INDEX INFO TYPE - 它定义了一个散列的索引。
    tableIndexOther
    INDEX INFO TYPE - 它定义了其它形式的索引。
    tableIndexStatistic
    INDEX INFO TYPE - 它定义了表的统计信息,该信息与表的索引描述一起返回。
    typeNoNulls
    TYPE NULLABLE - 不允许 NULL 值。
    typeNullable
    TYPE NULLABLE - 允许 NULL 值。
    typeNullableUnknown
    TYPE NULLABLE - 不知道是否允许 NULL 值。
    typePredBasic
    TYPE INFO SEARCHABLE - 除 WHERE .. 以外的都支持。
    typePredChar
    TYPE INFO SEARCHABLE - 只支持 WHERE ..
    typePredNone
    TYPE INFO SEARCHABLE - 没有支持。
    typeSearchable
    TYPE INFO SEARCHABLE - 所有的 WHERE .. 都支持。
    versionColumnNotPseudo
      VERSION COLUMNS PSEUDO_COLUMN - 不是一个伪列。
    versionColumnPseudo
      VERSION COLUMNS PSEUDO_COLUMN - 是一个伪列。
    versionColumnUnknown
    VERSION COLUMNS PSEUDO_COLUMN - 可能是或不是伪列。



    方法索引



    allProceduresAreCallable()
    当前用户是否可以调用所有由 getProcedures 返回的过程?
    allTablesAreSelectable()
    当前用户是否可以 SELECT 所有由 getTable 返回的表?
    dataDefinitionCausesTransactionCommit()
    一个事务中的数据定义语句是否强迫事务提交?
    dataDefinitionIgnoredInTransactions()
    是否被忽略一个事务中的数据定义语句?
    doesMaxRowSizeIncludeBlobs()
    getMaxRowSize() 是否包含 LONGVARCHAR 和 LONGVARBINARY 大对象?
    getBestRowIdentifier(String, String, String, int, boolean)
    获得一个表中能唯一地标识一行的最优的列集合的说明。
    getCatalogs()
    获得可用于该数据库中的分类表名。
    getCatalogSeparator()
    获得分类表名和表名之间的分隔符。
    getCatalogTerm()
    获得数据库供应商的“分类表”的首选项。
    getColumnPrivileges(String, String, String, String)
    获得对表的某一列的访问权的说明。
    getColumns(String, String, String, String)
    获得可用于分类表中的对表列的说明。
    getCrossReference(String, String, String, String, String, String)
    获得外部关键字表中外部关键字列的说明,它引用主关键字表中的主关键字列 ( 说明了一个表如何导入另一个表的关键字 )。通常它应该返回一个外部关键字 / 主关键字对 ( 大部分表每次只从一个表中导入一个关键字 )。它们以 FKTABLE_CAT、FKTABLE_SCHEM、FKTABLE_NAME 和 KEY_SEQ 排序。
    getDatabaseProductName()
    获得该数据库产品名称。
    getDatabaseProductVersion()
    获得该数据库产品的版本。
    getDefaultTransactionIsolation()
    获得数据库缺省的事务隔离级别。数值定义在 java.sql.Connection 中。
    getDriverMajorVersion()
    获得该 JDBC 驱动程序的主版本号。
    getDriverMinorVersion()
    获得该 JDBC 驱动程序的次版本号。
    getDriverName()
    获得该 JDBC 驱动程序的名称。
    getDriverVersion()
    获得该 JDBC 驱动程序的版本。
    getExportedKeys(String, String, String)
    获得一个外部关键字表列的说明,该外部关键字列引用一个表的主关键字列 ( 外部关键字由一个表导出 )。
    getExtraNameCharacters()
    获得所有“附加的”字符,它们可用于未加引号的标识符名称中 ( 在
    a-z、A-Z、0-9 范围之外的字符和 _)。
    getIdentifierQuoteString()
    获得用于加引号于 SQL 标识符的引号字符串。如果不支持标识符加引号,它将返回一个空格 " "。
    getImportedKeys(String, String, String)
    获得一个主关键字表列的说明,该主关键字列被一个表的外部关键字列引用 ( 该主关键字由一个表导入 )。
    getIndexInfo(String, String, String, boolean, boolean)
    获得一个关于表的索引和统计信息。
    getMaxBinaryLiteralLength()
    获得嵌入的二进制文字中允许的十六进制字符的最大数目。
    getMaxCatalogNameLength()
    获得分类表名的最大长度。
    getMaxCharLiteralLength()
    获得一个二进制文字的最大长度。
    getMaxColumnNameLength()
    获得对列名的长度的限制。
    getMaxColumnsInGroupBy()
    获得在一个 "GROUP BY" 子句中最大的列数。
    getMaxColumnsInIndex()
    获得一个索引中允许最大的列数。
    getMaxColumnsInOrderBy()
    获得在一个 "ORDER BY" 子句中最大的列数。
    getMaxColumnsInSelect()
    获得在一个 "SELECT" 列表中最大的列数。
    getMaxColumnsInTable()
    获得一个表中最大的列数。
    getMaxConnections()
    获得同时与该数据库连接的有效连接的最大数目。
    getMaxCursorNameLength()
    获得游标名的最大长度。
    getMaxIndexLength()
    获得一个索引的最大长度 ( 以字节计 )。
    getMaxProcedureNameLength()
    获得过程名的最大长度。
    getMaxRowSize()
    获得单个行的最大长度。
    getMaxSchemaNameLength()
    获得一个模式名允许的最大长度。
    getMaxStatementLength()
    获得 SQL 语句的最大长度。
    getMaxStatements()
    获得同时对该数据库打开的有效语句的数目。
    getMaxTableNameLength()
    获得表名的最大长度。
    getMaxTablesInSelect()
    获得一个 SELECT 中表的最大数目。
    getMaxUserNameLength()
    获得用户名的最大长度。
    getNumericFunctions()
    获得一个用逗号隔开的数学函数列表。
    getPrimaryKeys(String, String, String)
    获得关于一个表主关键字列的说明。
    getProcedureColumns(String, String, String, String)
    获得关于一个分类表的存储过程参数和结果列的说明。
    getProcedures(String, String, String)
    获得关于可用于一个分类表中的存储过程的说明。
    getProcedureTerm()
    获得数据库供应商的“过程”的首选项。
    getSchemas()
    获得可用于该数据库中的模式名。
    getSchemaTerm()
    获得数据库供应商的“模式”的首选项。
    getSearchStringEscape()
    获得在字符串模式风格分类表搜索参数中用于改变 '_' 或 '%' 的含义的转义字符串。
    getSQLKeywords()
    获得一个用逗号隔开的一个数据库所有 SQL 关键字的列表,它们不是
    SQL92 关键字。
    getStringFunctions()
    获得一个用逗号隔开的字符串函数列表。
    getSystemFunctions()
    获得一个用逗号隔开的系统功能列表。
    getTablePrivileges(String, String, String)
    获得对可用于分类表中的表访问权的说明。
    getTables(String, String, String, String[])
    获得可用于一个分类表中的表的说明。
    getTableTypes()
    获得可用于该数据库中的表的类型。
    getTimeDateFunctions()
    获得一个用逗号隔开的时间日期函数列表。
    getTypeInfo()
    获得该数据库支持的所有标准 SQL 类型说明。
    getURL()
    获得该数据库的 url。
    getUserName()
    获得数据库知道的用户名。
    getVersionColumns(String, String, String)
    获得关于表的列的说明,当修改一行中任何数值时该列被自动修改。
    isCatalogAtStart()
    一个分类表是否出现在一个合法的表名的开始?( 否则它出现在末尾 )
    isReadOnly()
    数据库是否在只读模式?
    nullPlusNonNullIsNull()
    将 NULL 和非 NULL 值进行拼接是否为 NULL? 一个遵守 JDBC
    的驱动程序总是返回 true。
    nullsAreSortedAtEnd()
    无论排序次序如何,NULL 值是否总排在末尾?
    nullsAreSortedAtStart()
    无论排序次序如何,NULL 值是总否排在开始?
    nullsAreSortedHigh()
    NULL 值是否被排在高端?
    nullsAreSortedLow()
    NULL 值是否被排在低端?
    storesLowerCaseIdentifiers()
    该数据库是否将大小写混合的未加引号的 SQL 标识符作为大小写不敏感的来对待,并以小写形式存储它们?
    storesLowerCaseQuotedIdentifiers()
    该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写不敏感的来对待,并以小写形式存储它们?
    storesMixedCaseIdentifiers()
    该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写不敏感的来对待,并以混合形式存储它们?
    storesMixedCaseQuotedIdentifiers()
    该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写不敏感的来对待,并以混合形式存储它们?
    storesUpperCaseIdentifiers()
    该数据库是否将大小写混合的未加引号的 SQL 标识符作为大小写不敏感的来对待,并以大写形式存储它们?
    storesUpperCaseQuotedIdentifiers()
    该数据库是否将大小写混合的被加引号 SQL 标识符作为大小写不敏感的来对待,并以大写形式存储它们?
    supportsAlterTableWithAddColumn()
    是否支持具有添加列功能的 "ALTER TABLE"?
    supportsAlterTableWithDropColumn()
    是否支持具有被删除列功能的 "ALTER TABLE"?
    supportsANSI92EntryLevelSQL()
    是否支持 ANSI92 入口级 SQL 语法检查? 所有遵守 JDBC 的驱动程序必须返回 true。
    supportsANSI92FullSQL()
    是否支持 ANSI92 完全级 SQL 语法检查?
    supportsANSI92IntermediateSQL()
    是否支持 ANSI92 中间级 SQL 语法检查?
    supportsCatalogsInDataManipulation()
    分类表名是否可以用于数据操作语句中?
    supportsCatalogsInIndexDefinitions()
    分类表名是否可以用于索引定义语句中?
    supportsCatalogsInPrivilegeDefinitions()
    分类表名是否可以用于特权定义语句中?
    supportsCatalogsInProcedureCalls()
    分类表名是否可以用于过程调用语句中?
    supportsCatalogsInTableDefinitions()
    分类表名是否可以用于表定义语句中?
    supportsColumnAliasing()
    是否支持列的别名设置?

    如果支持,SQL AS 子句可以用于为已计算过的列提供一个名字,或者根据请求为列提供别名。

    supportsConvert()
    是否支持 SQL 类型之间的 CONVERT 功能?
    supportsConvert(int, int)
    是否支持给定的 SQL 类型之间的 CONVERT?
    supportsCoreSQLGrammar()
    是否支持 ODBC 核心 SQL 语法检查?
    supportsCorrelatedSubqueries()
    是否支持相关的子查询? 一个遵守 JDBC 的驱动程序总是返回 true。
    supportsDataDefinitionAndDataManipulationTransactions()
    在一个事务中是否同时支持数据定义和数据操作语句?
    supportsDataManipulationTransactionsOnly()
    在一个事务中是否只支持数据操作语句?
    supportsDifferentTableCorrelationNames()
    是否支持表的相关名,是否限制它们与其表名不同?
    supportsExpressionsInOrderBy()
    是否支持 "ORDER BY" 列表中的表达式?
    supportsExtendedSQLGrammar()
    是否支持 ODBC 扩展的 SQL 语法检查?
    supportsFullOuterJoins()
    是否支持全嵌套的外部连接?
    supportsGroupBy()
    是否支持某些格式的 "GROUP BY" 子句?
    supportsGroupByBeyondSelect()
    假设一个 "GROUP BY" 子句指明了 SELECT 中所有的列,它是否能添加在 SELECT 中出现的列?
    supportsGroupByUnrelated()
    一个 "GROUP BY" 子句是否不能在 SELECT 中使用列?
    supportsIntegrityEnhancementFacility()
    是否支持 SQL 完整性增强工具?
    supportsLikeEscapeClause()
    是否支持 "LIKE" 子句中的转义字符? 一个遵守 JDBC 的驱动程序总是返回 true。
    supportsLimitedOuterJoins()
    对外部连接是否具有有限的支持?( 如果 supportFullOuterJoins 为
    true 则该条件成立 )。


    supportsMinimumSQLGrammar()
    是否支持 ODBC 最小 SQL 语法检查?
    所有遵守 JDBC 的驱动程序必须返回 true。
    supportsMixedCaseIdentifiers()
    该数据库是否将大小写混合的未加引号的 SQL 标识符作为大小写敏感的来对待,并以混合形式存储它们? 一个遵守 JDBC 的驱动程序将总是返回 false。
    supportsMixedCaseQuotedIdentifiers()
    该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写敏感的来对待,并以混合形式存储它们? 一个遵守 JDBC 的驱动程序将总是返回 true。
    supportsMultipleResultSets()
    是否支持单个执行返回多 ResultSet?
    supportsMultipleTransactions()
    是否可以同时打开多个事务 ( 在不同的连接上 )?
    supportsNonNullableColumns()
    是否可以定义列不能为 null?
    一个遵守 JDBC 的驱动程序总是返回 true。
    supportsOpenCursorsAcrossCommit()
    提交时游标是否能够保持开放?



    supportsOpenCursorsAcrossRollback()
    回滚时游标是否能够保持开放?


    supportsOpenStatementsAcrossCommit()
    提交时语句是否能够保持开放?


    supportsOpenStatementsAcrossRollback()
    回滚时语句是否能够保持开放?


    supportsOrderByUnrelated()
    一个 "ORDER BY" 子句是否能使用不在 SELECT 中出现的列?
    supportsOuterJoins()
    是否支持某些格式的外部连接?
    supportsPositionedDelete()
    是否支持定位的 DELETE?
    supportsPositionedUpdate()
    是否支持定位的 UPDATE?
    supportsSchemasInDataManipulation()
    模式名是否可以用于数据操作语句中?
    supportsSchemasInIndexDefinitions()
    模式名是否可以用于索引定义语句中?
    supportsSchemasInPrivilegeDefinitions()
    模式名是否可以用于特权定义语句中?
    supportsSchemasInProcedureCalls()
    模式名是否可以用于过程调用中?
    supportsSchemasInTableDefinitions()
    模式名是否可以用于表定义语句中?
    supportsSelectForUpdate()
    是否支持对 UPDATE 的 SELECT?
    supportsStoredProcedures()
    是否支持使用存储过程转义语法的存储过程调用?
    supportsSubqueriesInComparisons()
    是否支持比较表达式中的子查询?
    一个遵守 JDBC 的驱动程序总是返回 true。
    supportsSubqueriesInExists()
    是否支持 'exists' 表达式中的子查询?
    一个遵守 JDBC 的驱动程序总是返回 true。
    supportsSubqueriesInIns()
    是否支持 'in' 语句中的子查询?
    一个遵守 JDBC 的驱动程序总是返回 true。
    supportsSubqueriesInQuantifieds()
    是否支持合法的表达式中的子查询?
    一个遵守 JDBC 的驱动程序总是返回 true。
    supportsTableCorrelationNames()
    是否支持表的相关名?
    一个遵守 JDBC 的驱动程序总是返回 true。
    supportsTransactionIsolationLevel(int)
    该数据库是否支持给定的事务隔离级别?
    supportsTransactions()
    是否支持事务? 如果不支持,则提交的是一个空操作,且隔离级别为
    TRANSACTION_NONE。
    supportsUnion()
    是否支持 SQL UNION?
    supportsUnionAll()
    是否支持 SQL UNION ALL?
    usesLocalFilePerTable()
    数据库是否为每个表使用一个文件?
    usesLocalFiles()
    数据库是否把表存储在本地文件中?




    变量



    procedureResultUnknown

    public static final int procedureResultUnknown


    PROCEDURE_TYPE - 可能返回一个结果。




    procedureNoResult

    public static final int procedureNoResult


    PROCEDURE_TYPE - 不返回结果。




    procedureReturnsResult

    public static final int procedureReturnsResult


    PROCEDURE_TYPE - 返回结果。




    procedureColumnUnknown

    public static final int procedureColumnUnknown


    COLUMN_TYPE - 未知值。




    procedureColumnIn

    public static final int procedureColumnIn


    COLUMN_TYPE - IN 参数。




    procedureColumnInOut

    public static final int procedureColumnInOut


    COLUMN_TYPE - INOUT 参数。




    procedureColumnOut

    public static final int procedureColumnOut


    COLUMN_TYPE - OUT 参数。




    procedureColumnReturn

    public static final int procedureColumnReturn


    COLUMN_TYPE - 过程返回值。




    procedureColumnResult

    public static final int procedureColumnResult


    COLUMN_TYPE - ResultSet 中的结果列。




    procedureNoNulls

    public static final int procedureNoNulls


    TYPE NULLABLE - 不允许 NULL 值。




    procedureNullable

    public static final int procedureNullable


    TYPE NULLABLE - 允许 NULL 值。




    procedureNullableUnknown

    public static final int procedureNullableUnknown


    TYPE NULLABLE - 不知道是否允许 NULL 值。




    columnNoNulls

    public static final int columnNoNulls


    COLUMN NULLABLE - 可能不允许 NULL 值。




    columnNullable

    public static final int columnNullable


    COLUMN NULLABLE - 明确的允许 NULL 值。




    columnNullableUnknown

    public static final int columnNullableUnknown


    COLUMN NULLABLE - 不知道是否允许 NULL 值。




    bestRowTemporary

    public static final int bestRowTemporary


    BEST ROW SCOPE - 当使用行时,是暂时的。




    bestRowTransaction

    public static final int bestRowTransaction


    BEST ROW SCOPE - 对于当前事务的剩余行有效。




    bestRowSession

    public static final int bestRowSession


    BEST ROW SCOPE - 对于当前会话的剩余行有效。




    bestRowUnknown

    public static final int bestRowUnknown


    BEST ROW PSEUDO_COLUMN - 可能是或不是伪列。




    bestRowNotPseudo

    public static final int bestRowNotPseudo


    BEST ROW PSEUDO_COLUMN - 不是一个伪列。




    bestRowPseudo

    public static final int bestRowPseudo


    BEST ROW PSEUDO_COLUMN - 是一个伪列。




    versionColumnUnknown

    public static final int versionColumnUnknown


    VERSION COLUMNS PSEUDO_COLUMN - 可能是或不是伪列。




    versionColumnNotPseudo

    public static final int versionColumnNotPseudo


    VERSION COLUMNS PSEUDO_COLUMN - 不是一个伪列。




    versionColumnPseudo

    public static final int versionColumnPseudo


    VERSION COLUMNS PSEUDO_COLUMN - 是一个伪列。




    importedKeyCascade

    public static final int importedKeyCascade


    IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 对于更新,将改变导入的关键字使它与主关键字的更新保持一致;对于删除,将删除导入一个已删除关键字的行。




    importedKeyRestrict

    public static final int importedKeyRestrict


    IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果它已经被导入,不允许更新或删除主关键字。




    importedKeySetNull

    public static final int importedKeySetNull


    IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果主关键字已经被更新或删除,把导入的关键字改为 NULL。




    importedKeyNoAction

    public static final int importedKeyNoAction


    IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果它已经被导入,不允许更新或删除主关键字。




    importedKeySetDefault

    public static final int importedKeySetDefault


    IMPORT KEY UPDATE_RULE 和 DELETE_RULE - 如果主关键字已经被更新或删除,把导入的关键字改为缺省值。




    importedKeyInitiallyDeferred

    public static final int importedKeyInitiallyDeferred


    IMPORT KEY DEFERRABILITY - 关于定义请参见 SQL92。




    importedKeyInitiallyImmediate

    public static final int importedKeyInitiallyImmediate


    IMPORT KEY DEFERRABILITY - 关于定义请参见 SQL92。




    importedKeyNotDeferrable

    public static final int importedKeyNotDeferrable


    IMPORT KEY DEFERRABILITY - 关于定义请参见 SQL92。




    typeNoNulls

    public static final int typeNoNulls


    TYPE NULLABLE - 不允许 NULL 值。




    typeNullable

    public static final int typeNullable


    TYPE NULLABLE - 允许 NULL 值。




    typeNullableUnknown

    public static final int typeNullableUnknown


    TYPE NULLABLE - 不知道是否允许 NULL 值。




    typePredNone

    public static final int typePredNone


    TYPE INFO SEARCHABLE - 没有支持。




    typePredChar

    public static final int typePredChar


    TYPE INFO SEARCHABLE - 只支持 WHERE 。 LIKE。




    typePredBasic

    public static final int typePredBasic


    TYPE INFO SEARCHABLE - 除 WHERE 以外的都支持。 LIKE。




    typeSearchable

    public static final int typeSearchable


    TYPE INFO SEARCHABLE - 所有的 WHERE 都支持。




    tableIndexStatistic

    public static final short tableIndexStatistic


    INDEX INFO TYPE - 它定义了表的统计信息,该信息与表的索引描述一起返回。




    tableIndexClustered

    public static final short tableIndexClustered


    INDEX INFO TYPE - 它定义了一个分簇的索引。




    tableIndexHashed

    public static final short tableIndexHashed


    INDEX INFO TYPE - 它定义了一个散列的索引。




    tableIndexOther

    public static final short tableIndexOther


    INDEX INFO TYPE - 它定义了其它导引形式的索引。






    方法



    allProceduresAreCallable

    public abstract boolean allProceduresAreCallable() throws SQLException


    当前用户是否可以调用所有由 getProcedures 返回的过程?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    allTablesAreSelectable

    public abstract boolean allTablesAreSelectable() throws SQLException


    当前用户是否可以 SELECT 所有由 getTable 返回的表?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getURL

    public abstract String getURL() throws SQLException


    获得该数据库的 url。



     
    返回值:
     
    生成的 url,如果不能生成则为 null
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getUserName

    public abstract String getUserName() throws SQLException


    获得数据库知道的用户名。



     
    返回值:
     
    数据库的用户名
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    isReadOnly

    public abstract boolean isReadOnly() throws SQLException


    数据库是否在只读模式?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    nullsAreSortedHigh

    public abstract boolean nullsAreSortedHigh() throws SQLException


    NULL 值是否被排在高端?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    nullsAreSortedLow

    public abstract boolean nullsAreSortedLow() throws SQLException


    NULL 值是否被排在低端?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    nullsAreSortedAtStart

    public abstract boolean nullsAreSortedAtStart() throws SQLException


    无论排序次序如何,NULL 值是总否排在开始?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    nullsAreSortedAtEnd

    public abstract boolean nullsAreSortedAtEnd() throws SQLException


    无论排序次序如何,NULL 值是否总排在末尾?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getDatabaseProductName

    public abstract String getDatabaseProductName() throws SQLException


    获得该数据库产品的名称。



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



    getDatabaseProductVersion

    public abstract String getDatabaseProductVersion() throws SQLException


    获得该数据库产品的版本。



     
    返回值:
     
    数据库版本
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getDriverName

    public abstract String getDriverName() throws SQLException


    获得该 JDBC 驱动程序的名称。



     
    返回值:
     
    JDBC 驱动程序名
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getDriverVersion

    public abstract String getDriverVersion() throws SQLException


    获得该 JDBC 驱动程序的版本。



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



    getDriverMajorVersion

    public abstract int getDriverMajorVersion()


    获得该 JDBC 驱动程序的主版本号。



     
    返回值:
     
    JDBC 驱动程序主版本号



    getDriverMinorVersion

    public abstract int getDriverMinorVersion()


    获得该 JDBC 驱动程序的次版本号。



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



    usesLocalFiles

    public abstract boolean usesLocalFiles() throws SQLException


    数据库是否把表存储在本地文件中?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    usesLocalFilePerTable

    public abstract boolean usesLocalFilePerTable() throws SQLException


    数据库是否为每个表使用一个文件?



     
    返回值:
     
    如果数据库为每个表使用一个本地文件则为 true。
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsMixedCaseIdentifiers

    public abstract boolean supportsMixedCaseIdentifiers()
    throws SQLException


    该数据库是否将大小写混合的未加引号的 SQL 标识符作为大小写不敏感的来对待,并以混合形式存储它们?
    一个遵守 JDBC 的驱动程序将总是返回 false。



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    storesUpperCaseIdentifiers

    public abstract boolean storesUpperCaseIdentifiers() throws SQLException


    该数据库是否将大小写混合的未加引号的 SQL 标识符作为大小写不敏感的来对待,并以大写形式存储它们?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    storesLowerCaseIdentifiers

    public abstract boolean storesLowerCaseIdentifiers() throws SQLException


    该数据库是否将大小写混合的未加引号的 SQL 标识符作为大小写不敏感的来对待,并以小写形式存储它们?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    storesMixedCaseIdentifiers

    public abstract boolean storesMixedCaseIdentifiers()
    throws SQLException


    该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写不敏感的来对待,并以混合形式存储它们?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsMixedCaseQuotedIdentifiers

    public abstract boolean supportsMixedCaseQuotedIdentifiers()
    throws SQLException


    该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写不敏感的来对待,并以混合形式存储它们?
    一个遵守 JDBC 的驱动程序将总是返回 true。



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    storesUpperCaseQuotedIdentifiers

    public abstract boolean storesUpperCaseQuotedIdentifiers()
    throws SQLException


    该数据库是否将大小写混合的被加引号 SQL 标识符作为大小写不敏感的来对待,并以大写形式存储它们?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    storesLowerCaseQuotedIdentifiers

    public abstract boolean storesLowerCaseQuotedIdentifiers()
    throws SQLException


    该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写不敏感的来对待,并以小写形式存储它们?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    storesMixedCaseQuotedIdentifiers

    public abstract boolean storesMixedCaseQuotedIdentifiers()
    throws SQLException


    该数据库是否将大小写混合的加引号的 SQL 标识符作为大小写不敏感的来对待,并以混合形式存储它们?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getIdentifierQuoteString

    public abstract String getIdentifierQuoteString() throws SQLException


    获得用于引起 SQL 标识符的引号字符串。如果不支持引起标识符,它将返回一个空格 " "。
    一个遵守 JDBC 的驱动程序总是使用双引号字符。



     
    返回值:
     
    加引号的字符串
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getSQLKeywords

    public abstract String getSQLKeywords() throws SQLException


    获得一个用逗号隔开的一个数据库所有 SQL 关键字的列表,它们不是
    SQL92 关键字。



     
    返回值:
     
    该列表
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getNumericFunctions

    public abstract String getNumericFunctions() throws SQLException


    获得一个用逗号隔开的数学函数列表。



     
    返回值:
     
    该列表
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getStringFunctions

    public abstract String getStringFunctions() throws SQLException


    获得一个用逗号隔开的字符串函数列表。



     
    返回值:
     
    该列表
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getSystemFunctions

    public abstract String getSystemFunctions() throws SQLException


    获得一个用逗号隔开的系统功能列表。



     
    返回值:
     
    该列表
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getTimeDateFunctions

    public abstract String getTimeDateFunctions() throws SQLException


    获得一个用逗号隔开的时间日期函数列表。



     
    返回值:
     
    该列表
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getSearchStringEscape

    public abstract String getSearchStringEscape() throws SQLException


    获得在字符串模式风格的分类表搜索参数中用于改变 '_' 或 '%' 含义的转义字符串。

    '_' 字符表示任何单个的字符。

    '%' 字符表示任何包含零个或多个字符的序列。



     
    返回值:
     
    用于转换通配符含义的字符串
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getExtraNameCharacters

    public abstract String getExtraNameCharacters() throws SQLException


    获得所有“附加的”字符,它们可用于未被引起的标识符名称中 ( 在
    a-z、A-Z、0-9 范围之外的字符和 _)。



     
    1Returns:
     
    包含附加字符的字符串
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsAlterTableWithAddColumn

    public abstract boolean supportsAlterTableWithAddColumn()
    throws SQLException


    是否支持具有被添加列功能的 "ALTER TABLE"?



     
    1Returns:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsAlterTableWithDropColumn

    public abstract boolean supportsAlterTableWithDropColumn()
    throws SQLException


    是否支持具有被删除列功能的 "ALTER TABLE"?



     
    1Returns:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsColumnAliasing

    public abstract boolean supportsColumnAliasing() throws SQLException


    是否支持列的别名设置?

    如果支持,SQL AS 子句可以用于为已计算过的列提供一个名字,或者根据请求为列提供别名。
    一个遵守 JDBC 的驱动程序总是返回 true。



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    nullPlusNonNullIsNull

    public abstract boolean nullPlusNonNullIsNull()
    throws SQLException


    将 NULL 和非 NULL 值进行拼接是否为 NULL?
    一个遵守 JDBC 的驱动程序总是返回 true。



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsConvert

    public abstract boolean supportsConvert() throws SQLException


    是否支持 SQL 类型之间的 CONVERT 功能?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsConvert

    public abstract boolean supportsConvert(int fromType,int toType)
    throws SQLException


    是否支持给定的 SQL 类型之间的 CONVERT?



     
    参数:
     
    fromType - 被转换的类型
     
    toType - 转换成该类型
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。
     
    参见:
     
    Types



    supportsTableCorrelationNames

    public abstract boolean supportsTableCorrelationNames()
    throws SQLException


    是否支持表的相关名?
    一个遵守 JDBC 的驱动程序总是返回 true。



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsDifferentTableCorrelationNames

    public abstract boolean supportsDifferentTableCorrelationNames()
    throws SQLException


    是否支持表的相关名,是否限制它们与其表名不同?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsExpressionsInOrderBy

    public abstract boolean supportsExpressionsInOrderBy()
    throws SQLException


    是否支持 "ORDER BY" 列表中的表达式?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsOrderByUnrelated

    public abstract boolean supportsOrderByUnrelated() throws SQLException


    一个 "ORDER BY" 子句是否能使用在 SELECT 中出现的列?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsGroupBy

    public abstract boolean supportsGroupBy() throws SQLException


    是否支持某些格式的 "GROUP BY" 子句?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsGroupByUnrelated

    public abstract boolean supportsGroupByUnrelated() throws SQLException


    一个 "GROUP BY" 子句是否能使用在 SELECT 中出现的列?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsGroupByBeyondSelect

    public abstract boolean supportsGroupByBeyondSelect()
    throws SQLException


    假设一个 "GROUP BY" 子句指明了 SELECT 中所有的列,它是否能添加未在 SELECT 中出现的列?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsLikeEscapeClause

    public abstract boolean supportsLikeEscapeClause() throws SQLException


    是否支持 "LIKE" 子句中的转义字符?
    一个遵守 JDBC 的驱动程序总是返回 true。



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsMultipleResultSets

    public abstract boolean supportsMultipleResultSets() throws SQLException


    是否支持单个执行返回多个 ResultSet?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsMultipleTransactions

    public abstract boolean supportsMultipleTransactions()
    throws SQLException


    是否可以同时打开多个事务 ( 在不同的连接上 )?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsNonNullableColumns

    public abstract boolean supportsNonNullableColumns() throws SQLException


    是否可以定义列不能为 null?
    一个遵守 JDBC 的驱动程序总是返回 true。



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsMinimumSQLGrammar

    public abstract boolean supportsMinimumSQLGrammar() throws SQLException


    是否支持 ODBC 最小 SQL 语法检查?
    所有遵守 JDBC 的驱动程序必须返回 true。



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsCoreSQLGrammar

    public abstract boolean supportsCoreSQLGrammar() throws SQLException


    是否支持 ODBC 核心 SQL 语法检查?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsExtendedSQLGrammar

    public abstract boolean supportsExtendedSQLGrammar() throws SQLException


    是否支持 ODBC 扩展的 SQL 语法检查?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsANSI92EntryLevelSQL

    public abstract boolean supportsANSI92EntryLevelSQL() throws SQLException


    是否支持 ANSI92 入口级 SQL 语法检查?
    所有遵守 JDBC 的驱动程序必须返回 true。



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsANSI92IntermediateSQL

    public abstract boolean supportsANSI92IntermediateSQL()
    throws SQLException


    是否支持 ANSI92 中间级 SQL 语法检查?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsANSI92FullSQL

    public abstract boolean supportsANSI92FullSQL() throws SQLException


    是否支持 ANSI92 完全级 SQL 语法检查?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsIntegrityEnhancementFacility

    public abstract boolean supportsIntegrityEnhancementFacility()
    throws SQLException


    是否支持 SQL 完整性增强工具?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsOuterJoins

    public abstract boolean supportsOuterJoins() throws SQLException


    是否支持某些格式的外部连接?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsFullOuterJoins

    public abstract boolean supportsFullOuterJoins() throws SQLException


    是否支持全嵌套的外部连接?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsLimitedOuterJoins

    public abstract boolean supportsLimitedOuterJoins() throws SQLException


    对外部连接是否具有有限的支持?( 如果 supportFullOuterJoins 为
    true 则该条件成立 )。



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getSchemaTerm

    public abstract String getSchemaTerm() throws SQLException


    获得数据库供应商的“模式”的首选项。



     
    返回值:
     
    供应商的首选项
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getProcedureTerm

    public abstract String getProcedureTerm() throws SQLException


    获得数据库供应商的“过程”的首选项。



     
    返回值:
     
    供应商的首选项
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getCatalogTerm

    public abstract String getCatalogTerm() throws SQLException


    获得数据库供应商的“分类表”的首选项。



     
    返回值:
     
    供应商的首选项
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    isCatalogAtStart

    public abstract boolean isCatalogAtStart() throws SQLException


    一个分类表是否出现在一个合法的表名的开始?( 否则它出现在末尾 )



     
    返回值:
     
    如果它出现在开始则为 true。
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getCatalogSeparator

    public abstract String getCatalogSeparator() throws SQLException


    获得分类表名和表名之间的分隔符。



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



    supportsSchemasInDataManipulation

    public abstract boolean supportsSchemasInDataManipulation() throws SQLException


    模式名是否可以用于数据操作语句中?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsSchemasInProcedureCalls

    public abstract boolean supportsSchemasInProcedureCalls() throws SQLException


      模式名是否可以用于过程调用中?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsSchemasInTableDefinitions

    public abstract boolean supportsSchemasInTableDefinitions()
    throws SQLException


    模式名是否可以用于表定义语句中?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsSchemasInIndexDefinitions

    public abstract boolean supportsSchemasInIndexDefinitions() throws SQLException


    模式名是否可以用于索引定义语句中?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsSchemasInPrivilegeDefinitions

    public abstract boolean supportsSchemasInPrivilegeDefinitions() throws SQLException


    模式名是否可以用于特权定义语句中?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsCatalogsInDataManipulation

    public abstract boolean supportsCatalogsInDataManipulation() throws SQLException


    分类表名是否可以用于数据操作语句中?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsCatalogsInProcedureCalls

    public abstract boolean supportsCatalogsInProcedureCalls() throws SQLException


    分类表名是否可以用于过程调用语句中?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsCatalogsInTableDefinitions

    public abstract boolean supportsCatalogsInTableDefinitions() throws SQLException


    分类表名是否可以用于表定义语句中?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsCatalogsInIndexDefinitions

    public abstract boolean supportsCatalogsInIndexDefinitions() throws SQLException


    分类表名是否可以用于索引定义语句中?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsCatalogsInPrivilegeDefinitions

    public abstract boolean supportsCatalogsInPrivilegeDefinitions() throws SQLException


    分类表名是否可以用于特权定义语句中?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsPositionedDelete

    public abstract boolean supportsPositionedDelete() throws SQLException


    是否支持定位的 DELETE?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsPositionedUpdate

    public abstract boolean supportsPositionedUpdate() throws SQLException


    是否支持定位的 UPDATE?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsSelectForUpdate

    public abstract boolean supportsSelectForUpdate() throws SQLException


    是否支持对 UPDATE 的 SELECT?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsStoredProcedures

    public abstract boolean supportsStoredProcedures() throws SQLException


    是否支持使用存储过程转义语法的存储过程调用?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsSubqueriesInComparisons

    public abstract boolean supportsSubqueriesInComparisons() throws SQLException


    是否支持比较表达式中的子查询?
    一个遵守 JDBC 的驱动程序总是返回 true。



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsSubqueriesInExists

    public abstract boolean supportsSubqueriesInExists() throws SQLException


    是否支持 'exists' 表达式中的子查询?
    一个遵守 JDBC 的驱动程序总是返回 true。



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsSubqueriesInIns

    public abstract boolean supportsSubqueriesInIns() throws SQLException


    是否支持 'in' 语句中的子查询?
    一个遵守 JDBC 的驱动程序总是返回 true。



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsSubqueriesInQuantifieds

    public abstract boolean supportsSubqueriesInQuantifieds() throws SQLException


    是否支持合法的表达式中的子查询?
    一个遵守 JDBC 的驱动程序总是返回 true。



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsCorrelatedSubqueries

    public abstract boolean supportsCorrelatedSubqueries() throws SQLException


    是否支持相关的子查询?
    一个遵守 JDBC 的驱动程序总是返回 true。



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsUnion

    public abstract boolean supportsUnion() throws SQLException


    是否支持 SQL UNION?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsUnionAll

    public abstract boolean supportsUnionAll() throws SQLException


    是否支持 SQL UNION ALL?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsOpenCursorsAcrossCommit

    public abstract boolean supportsOpenCursorsAcrossCommit() throws SQLException


    提交时游标是否能够保持开放?



     
    返回值:
     
    如果游标总保持开放则为 true;否则如果可能不保持开放则为 false。
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsOpenCursorsAcrossRollback

    public abstract boolean supportsOpenCursorsAcrossRollback() throws SQLException


    回滚时游标是否能够保持开放?



     
    返回值:
     
    如果游标总保持开放则为 true;否则如果可能不保持开放则为 false。
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsOpenStatementsAcrossCommit

    public abstract boolean supportsOpenStatementsAcrossCommit() throws SQLException


    提交时语句是否能够保持开放?



     
    返回值:
     
    如果语句总保持开放则为 true;否则如果可能不保持开放则为 false。
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsOpenStatementsAcrossRollback

    public abstract boolean supportsOpenStatementsAcrossRollback() throws SQLException


    回滚时语句是否能够保持开放?



     
    返回值:
     
    如果语句总保持开放则为 true;否则如果可能不保持开放则为 false。
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxBinaryLiteralLength

    public abstract int getMaxBinaryLiteralLength() throws SQLException


    获得嵌入的二进制文字中允许的十六进制字符的最大数目。



     
    返回值:
     
    最大的文字长度
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxCharLiteralLength

    public abstract int getMaxCharLiteralLength() throws SQLException


    获得一个二进制文字的最大长度。



     
    返回值:
     
    最大的文字长度
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxColumnNameLength

    public abstract int getMaxColumnNameLength() throws SQLException


    获得对列名的长度的限制。



     
    返回值:
     
    最大的文字长度
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxColumnsInGroupBy

    public abstract int getMaxColumnsInGroupBy() throws SQLException


    获得在一个 "GROUP BY" 子句中最大的列数。



     
    返回值:
     
    最大的列数
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxColumnsInIndex

    public abstract int getMaxColumnsInIndex() throws SQLException


    获得一个索引中允许最大的列数。



     
    返回值:
     
    最大的列数
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxColumnsInOrderBy

    public abstract int getMaxColumnsInOrderBy() throws SQLException


    获得在一个 "ORDER BY" 子句中最大的列数。



     
    返回值:
     
    最大的列数
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxColumnsInSelect

    public abstract int getMaxColumnsInSelect() throws SQLException


    获得在一个 "SELECT" 列表中最大的列数。



     
    返回值:
     
    最大的列数
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxColumnsInTable

    public abstract int getMaxColumnsInTable() throws SQLException


    获得一个表中最大的列数。



     
    返回值:
     
    最大的列数
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxConnections

    public abstract int getMaxConnections() throws SQLException


    获得同时与该数据库连接的有效连接的最大数目。



     
    返回值:
     
    最大的连接数
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxCursorNameLength

    public abstract int getMaxCursorNameLength() throws SQLException


    获得游标名的最大长度。



     
    返回值:
     
    游标名的最大字节长度
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxIndexLength

    public abstract int getMaxIndexLength() throws SQLException


    获得一个索引的最大长度 ( 以字节计 )。



     
    返回值:
     
    索引的最大字节长度
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxSchemaNameLength

    public abstract int getMaxSchemaNameLength() throws SQLException


    获得对一个模式名允许的最大长度。



     
    返回值:
     
    模式名的最大字节长度
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxProcedureNameLength

    public abstract int getMaxProcedureNameLength() throws SQLException


    获得过程名的最大长度。



     
    返回值:
     
    过程名的最大字节长度
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxCatalogNameLength

    public abstract int getMaxCatalogNameLength() throws SQLException


    获得分类表名的最大长度。



     
    返回值:
     
    分类表名的最大字节长度
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxRowSize

    public abstract int getMaxRowSize() throws SQLException


    获得单个行的最大长度。



     
    返回值:
     
    行的最大字节数
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    doesMaxRowSizeIncludeBlobs

    public abstract boolean doesMaxRowSizeIncludeBlobs() throws SQLException


    getMaxRowSize() 是否包含 LONGVARCHAR 和 LONGVARBINARY 大对象?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxStatementLength

    public abstract int getMaxStatementLength() throws SQLException


    获得 SQL 语句的最大长度。



     
    返回值:
     
    最大字节长度
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxStatements

    public abstract int getMaxStatements() throws SQLException


    获得同时对该数据库有效的语句的数目。



     
    返回值:
     
    最大数目
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxTableNameLength

    public abstract int getMaxTableNameLength() throws SQLException


    获得表名的最大长度。



     
    返回值:
     
    表名的最大字节长度
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxTablesInSelect

    public abstract int getMaxTablesInSelect() throws SQLException


    获得一个 SELECT 中表的最大数目。



     
    返回值:
     
    最大数目
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getMaxUserNameLength

    public abstract int getMaxUserNameLength() throws SQLException


    获得用户名的最大长度。



     
    返回值:
     
    用户名的最大字节长度
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getDefaultTransactionIsolation

    public abstract int getDefaultTransactionIsolation() throws SQLException


    获得数据库缺省的事务隔离级别。 数值定义在 java.sql.Connection 中。



     
    返回值:
     
    缺省的隔离级别
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。
     
    参见:
     
    Connection



    supportsTransactions

    public abstract boolean supportsTransactions() throws SQLException


    是否支持事务。如果不支持,则提交的是一个空操作,且隔离级别为
    TRANSACTION_NONE。



     
    返回值:
     
    如果支持事务则为 true。
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsTransactionIsolationLevel

    public abstract boolean supportsTransactionIsolationLevel(int level) throws SQLException


    该数据库是否支持给定的事务隔离级别?



     
    参数:
     
    level - 数值定义在 java.sql.Connection 中。
     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。
     
    参见:
     
    Connection



    supportsDataDefinitionAndDataManipulationTransactions

    public abstract boolean supportsDataDefinitionAndDataManipulationTransactions()
    throws SQLException


    在一个事务中是否同时支持数据定义和数据操作语句?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    supportsDataManipulationTransactionsOnly

    public abstract boolean supportsDataManipulationTransactionsOnly()
    throws SQLException


    在一个事务中是否只支持数据操作语句?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    dataDefinitionCausesTransactionCommit

    public abstract boolean dataDefinitionCausesTransactionCommit() throws SQLException


    一个事务中的数据定义语句是否强迫事务提交?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    dataDefinitionIgnoredInTransactions

    public abstract boolean dataDefinitionIgnoredInTransactions() throws SQLException


    一个事务中的数据定义语句是否被忽略?



     
    返回值:
     
    果真如此则为 true
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getProcedures

    public abstract ResultSet getProcedures(String catalog,
                              String schemaPattern,
                              String procedureNamePattern)
    throws SQLException


    获得关于可用于一个分类表中的存储过程的说明。

    只返回与模式和过程名匹配标准相匹配的过程说明。它们以 PROCEDURE_SCHEM 和 PROCEDURE_NAME 的顺序排序。

    每个过程说明具有以下的列:


    1. PROCEDURE_CAT String => 过程分类表 ( 可以为 null)
    2. PROCEDURE_SCHEM String => 过程模式( 可以为 null)
    3. PROCEDURE_NAME String => 过程名
    4. 保留作将来使用
    5. 保留作将来使用
    6. 保留作将来使用
    7. REMARKS String => 关于过程的解释性注释
    8. PROCEDURE_TYPE short => 过程的种类:
         

           
      • procedureResultUnknown - 可能返回一个结果
           
      • procedureNoResult - 不返回结果
           
      • procedureReturnsResult - 返回结果
           




     
    参数:
     
    catalog - 一个分类表名;"" 检索没有分类表的存储过程说明;
    null 意味着从选择标准中删除分类表名
    schemaPattern - 模式名模本;"" 检索没有模式的存储过程说明
    procedureNamePattern - 过程名模本
     
    返回值:
     
    ResultSet - 每一行是一个过程说明
    抛出:
    SQLException
     
    如果发生了数据访问错误。
     
    参见:
     
    getSearchStringEscape



    getProcedureColumns

    public abstract ResultSet getProcedureColumns(String catalog,
                                  String schemaPattern,
                                  String procedureNamePattern,
                                  String columnNamePattern)
      throws SQLException


    获得关于一个分类表的存储过程参数和结果列的说明。

    只返回与模式和过程名和参数名匹配标准相匹配的说明。它们以
    PROCEDURE_SCHEM 和 PROCEDURE_NAME 的顺序排列。 在这其中,如果有返回值那么它是第一位的。下面是调用顺序中的参数说明。列说明的顺序与列号相同。

    ResultSet 中的每一行是一个参数说明或列列说明,它具有以下的域:


    1. PROCEDURE_CAT String => 过程分类表 ( 可以为 null)
    2. PROCEDURE_SCHEM String => 过程模式( 可以为 null)
    3. PROCEDURE_NAME String => 过程名
    4. COLUMN_NAME String => 列 / 参数名
    5. COLUMN_TYPE Short => 列 / 参数的种类:
         

           
      • procedureColumnUnknown - 未知值
           
      • procedureColumnIn - IN 参数
           
      • procedureColumnInOut - INOUT 参数
           
      • procedureColumnOut - OUT 参数
           
      • procedureColumnReturn - 过程返回值
           
      • procedureColumnResult - ResultSet 中的结果列
           

    6. DATA_TYPE short => java.sql.Types 中的 SQL 类型
    7. TYPE_NAME String => SQL 类型名
    8. PRECISION int => 精度
    9. LENGTH int => 数据的字节长度
    10. SCALE short => 小数位数
    11. RADIX short => 基数
    12. NULLABLE short => 它是否可以包含 NULL?
         

           
      • procedureNoNulls - 不允许 NULL 值
           
      • procedureNullable - 允许 NULL 值
           
      • procedureNullableUnknown - 不知是否允许 NULL。
           

    13. REMARKS String => 说明参数 / 列的注释

    注意: 有些数据库不为过程返回列的说明。未在 REMARKS 中的附加列可以由该数据库定义。



     
    参数:
     
    catalog - 一个分类表名;"" 检索没有分类表的存储过程说明;
    null 意味着从选择标准中删除分类表名
    schemaPattern - 模式名模本;"" 检索没有模式的存储过程说明
    procedureNamePattern - 过程名模本
     
    columnNamePattern - 一个列名模本
     
    返回值:
     
    ResultSet - 每一行是一个存储过程参数或列的说明
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。
     
    参见:
     
    getSearchStringEscape



    getTables

    public abstract ResultSet getTables(String catalog,
                            String schemaPattern,
                            String tableNamePattern,
                            String types[]) throws SQLException


    获得可用于一个分类表中的表的说明。

    只返回与分类表、模式、表的名称和类型的匹配标准相匹配的表说明。它们以
    TABLE_TYPE、TABLE_SCHEM 和 TABLE_NAME 顺序排列。

    每个表说明具有以下的列:


    1. TABLE_CAT String => 表分类表 ( 可以为 null)
    2. TABLE_SCHEM String => 表模式( 可以为 null)
    3. TABLE_NAME String => 表名
    4. TABLE_TYPE String => 类型的类型。典型的类型是"TABLE",
      "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY",
      "ALIAS", "SYNONYM"。
    5. REMARKS String => 关于表的解释性注释


    注意: 有些数据库不为所有的表返回信息。



     
    参数:
     
    catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
    schemaPattern - 模式名模本;"" 检索那些没有模式的
    tableNamePattern - 一个表名模本
     
    types - 一个要包括的表类型列表;如果为 null 则返回所有的类型
     
    返回值:
     
    ResultSet - 每一行是一个列说明
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。
     
    参见:
     
    getSearchStringEscape



    getSchemas

    public abstract ResultSet getSchemas() throws SQLException


    获得可用于该数据库中的模式名。结果按模式名排序。

    模式列是:


    1. TABLE_SCHEM String => 模式名



     
    返回值:
     
    ResultSet - 每一行有单个的 String 列,它是一个模式名。
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getCatalogs

    public abstract ResultSet getCatalogs() throws SQLException


    获得可用于该数据库中的分类表名。结果按分类表名排序。

    分类表列是:


    1. TABLE_CAT String => 分类表名



     
    返回值:
     
    ResultSet - 每一行有单个的 String 列,它是一个分类表名。
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getTableTypes

    public abstract ResultSet getTableTypes() throws SQLException


    获得可用于该数据库中的表的类型。 结果按表的类型排序。

    表的类型是:


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



     
    返回值:
     
    ResultSet - 每一行有单个的 String 列,它是一个表类型。
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getColumns

    public abstract ResultSet getColumns(String catalog,
                            String schemaPattern,
                            String tableNamePattern,
                            String columnNamePattern) throws SQLException


    获得可用于一个分类表中的对表列的说明。

    只返回与分类表、模式、表和列名匹配标准相匹配的列的说明。 它们以 TABLE_SCHEM
    、TABLE_NAME 和 ORDINAL_POSITION 排列。

    每个列说明具有以下的列:


    1. TABLE_CAT String => 表分类表 ( 可以为 null)
    2. TABLE_SCHEM String => 表模式( 可以为 null)
    3. TABLE_NAME String => 表名
    4. COLUMN_NAME String => 列名
    5. DATA_TYPE short => java.sql.Types 中的 SQL 类型
    6. TYPE_NAME String => 数据源从属类型名
    7. COLUMN_SIZE int => 列的大小。对于字符或日期类型,它是最大字符数,对于数值或小数类型它是精度。
    8. BUFFER_LENGTH 未使用。
    9. DECIMAL_DIGITS int => 小数的位数
    10. NUM_PREC_RADIX int => 基数 ( 典型的是 10 或 2)
    11. NULLABLE int => 是否允许 NULL 值?
         

           
      • columnNoNulls - 可能不允许 NULL 值
           
      • columnNullable - 明确的允许 NULL 值
      • columnNullableUnknown - 不知是否允许 NULL 值
           

    12. REMARKS String => 描述列的注释 ( 可能为 null)
    13. COLUMN_DEF String => 缺省值 ( 可能为 null)
    14. SQL_DATA_TYPE int => 未使用
    15. SQL_DATETIME_SUB int => 未使用
    16. CHAR_OCTET_LENGTH int => 对于字符类型,它是列中的最大字符数
    17. ORDINAL_POSITION int => 表中的列索引 ( 从 1 开始 )
    18. IS_NULLABLE String => "NO" 意味着列确实不允许 NULL 值;
      "YES" 意味列可能允许 NULL 值。一个空字符串意味着是否允许 NULL 值未知。



     
    参数:
     
    catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
    schemaPattern - 模式名模本;"" 检索那些没有模式的
    tableNamePattern - 一个表名模本
     
    columnNamePattern - 一个列名模本
     
    返回值:
     
    ResultSet - 每一行是一个列说明
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。
     
    参见:
     
    getSearchStringEscape



    getColumnPrivileges

    public abstract ResultSet getColumnPrivileges(String catalog,
                                  String schema,
                                  String table,
                                  String columnNamePattern)
    throws SQLException


    获得对表的某一列的访问权的说明。

    只返回与列名匹配标准相匹配的特权。它们以 COLUMN_NAME 和 PRIVILEGE 顺序排列。

    每个特权说明具有以下的列:


    1. TABLE_CAT String => 表分类表 ( 可以为 null)
    2. TABLE_SCHEM String => 表模式( 可以为 null)
    3. TABLE_NAME String => 表名
    4. COLUMN_NAME String => 列名
    5. GRANTOR => 访问权的授予者 ( 可能为 null)
    6. GRANTEE String => 访问权的接受者
    7. PRIVILEGE String => 访问权的名称 (SELECT,
          INSERT, UPDATE, REFRENCES, ...)
    8. IS_GRANTABLE String => 如果允许接受者把特权赋给他人则为
      "YES";如果不允许则为 "NO";如果不知道则为 null。



     
    参数:
     
    catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
    schema - 模式名模本;"" 检索没有那些模式的
     
    table - 一个表名
     
    columnNamePattern - 一个列名模本
     
    返回值:
     
    ResultSet - 每一行是一个特权说明
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。
     
    参见:
     
    getSearchStringEscape



    getTablePrivileges

    public abstract ResultSet getTablePrivileges(String catalog,
                                  String schemaPattern,
                                  String tableNamePattern) throws SQLException


    获得对可用于分类表中的表的访问权的说明。 注意表的特权可以应用到表的一个或多个列上。假设该特权可以应用到所有的列上是错误的 ( 这在某些系统中可能是正确的,但并不是在所有的系统中都正确。)

    只返回与模式和表名匹配标准相匹配的特权。它们按 TABLE_SCHEM、TABLE_NAME
    和 PRIVILEGE 顺序排列。

    每个特权说明具有以下的列:


    1. TABLE_CAT String => 表分类表 ( 可以为 null)
    2. TABLE_SCHEM String => 表的模式 ( 可以为 null)
    3. TABLE_NAME String => 表名
    4. GRANTOR => 访问权的授予者 ( 可能为 null)
    5. GRANTEE String => 访问权的接受者
    6. PRIVILEGE String =>访问权的名称 (SELECT,
          INSERT, UPDATE, REFRENCES, ...)
    7. IS_GRANTABLE String => 如果允许接受者把特权赋给他人则为
      "YES";如果不允许则为 "NO";如果不知道则为 null。



     
    参数:
     
    catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
    schemaPattern - 模式名模本;"" 检索那些没有模式的
    tableNamePattern - 一个表名模本
     
    返回值:
     
    ResultSet - 每一行是一个表特权说明
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。
     
    参见:
     
    getSearchStringEscape



    getBestRowIdentifier

    public abstract ResultSet getBestRowIdentifier(String catalog,
                                    String schema,
                                    String table,
                                    int scope,
                                    boolean nullable) throws SQLException


    获得一个表中能唯一标识一行的最优的列的集合的说明。它们按 SCOPE 排序。

    每个列说明具有以下的列:


    1. SCOPE short => 结果实际的作用域
         

           
      • bestRowTemporary - 当使用行时是暂时的
           
      • bestRowTransaction - 对于当前事务的剩余行是有效的
           
      • bestRowSession - 对于当前会话的剩余行有效。
           

    2. COLUMN_NAME String => 列名
    3. DATA_TYPE short => java.sql.Types 中的 SQL 数据类型
    4. TYPE_NAME String => 数据源从属类型名
    5. COLUMN_SIZE int => 精度
    6. BUFFER_LENGTH int => 未使用
    7. DECIMAL_DIGITS short => 小数位数
    8. PSEUDO_COLUMN short => 是否是一个象 Oracle ROWID 的伪列
         

           
      • bestRowUnknown - 可能是或不是伪列。
           
      • bestRowNotPseudo - 不是一个伪列。
           
      • bestRowPseudo - 是一个伪列。
           




     
    参数:
     
    catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
    schema - 模式名模本;"" 检索没有那些模式的
     
    table - 一个表名
     
    scope - 内部的作用域;使用同样的值 SCOPE
     
    nullable - 包括可以为 null 的列
     
    返回值:
     
    ResultSet - 每一行是一个列说明
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getVersionColumns

    public abstract ResultSet getVersionColumns(String catalog,
                                  String schema,
                                  String table) throws SQLException


    获得关于表的列的说明,当修改一行中任何数值时该列被自动修改。
    它们是未排序的。

    每个列说明具有以下的列:


    1. SCOPE short => 未使用
    2. COLUMN_NAME String => 列名
    3. DATA_TYPE short => java.sql.Types 中的 SQL 数据类型
    4. TYPE_NAME String => 数据源从属类型名
    5. COLUMN_SIZE int => 精度
    6. BUFFER_LENGTH int => 列值的字符长度
    7. DECIMAL_DIGITS short => 小数位数
    8. PSEUDO_COLUMN short => 是否是一个象 Oracle ROWID 的伪列
         

           
      • versionColumnUnknown - 可能是或不是伪列。
           
      • versionColumnNotPseudo - 不是一个伪列
           
      • versionColumnPseudo - 是一个伪列
           




     
    参数:
     
    catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
    schema - 模式名模本;"" 检索没有那些模式的
     
    table - 一个表名
     
    返回值:
     
    ResultSet - 每一行是一个列说明
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getPrimaryKeys

    public abstract ResultSet getPrimaryKeys(String catalog,
                                String schema,
                                String table) throws SQLException


    获得关于一个表主关键字列的说明。 它们按 COLUMN_NAME 排序。

    每个关键字列说明具有以下的列:


    1. TABLE_CAT String => 表分类表 ( 可以为 null)
    2. TABLE_SCHEM String => 表的模式 ( 可以为 null)
    3. TABLE_NAME String => 表名
    4. COLUMN_NAME String => 列名
    5. KEY_SEQ short => 主关键字的序列号
    6. PK_NAME String => 主关键字名 ( 可以为 null)



     
    参数:
     
    catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
    schema - 模式名模本;"" 检索没有那些模式的
     
    table - 一个表名
     
    返回值:
     
    ResultSet - 每一行是一个关键字列说明
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getImportedKeys

    public abstract ResultSet getImportedKeys(String catalog,
                                String schema,
                                String table) throws SQLException


    获得一个主关键字表列的说明,该主关键字列被一个表的外部关键字列引用 ( 该主关键字由一个表导入 )。 它们按 PKTABLE_CAT、
    PKTABLE_SCHEM、PKTABLE_NAME 和 KEY_SEQ 的顺序排列。

    每个关键字列说明具有以下的列:


    1. PKTABLE_CAT String => 被导入的主关键字表的分类表 ( 可以为 null)
    2. PKTABLE_SCHEM String => 被导入的主关键字表的模式 ( 可以为 null)
    3. PKTABLE_NAME String => 被导入的主关键字表名
    4. PKCOLUMN_NAME String => 被导入的主关键字列名
    5. FKTABLE_CAT String => 外部关键字分类表 ( 可以为 null)
    6. FKTABLE_SCHEM String => 外部关键字模式 ( 可以为 null)
    7. FKTABLE_NAME String => 外部关键字表名
    8. FKCOLUMN_NAME String => 外部关键字列名
    9. KEY_SEQ short => 外部关键字的序列号
    10. UPDATE_RULE short => 当更新主关键字时外部关键字将会:

           
      • importedNoAction - 如果已经导入主关键字,则不允许更新它。
      • importedKeyCascade - 改变导入的关键字,与主关键字的更新保持一致。
      • importedKeySetNull - 如果已经更新了主关键字,则把导入的关键字改为 NULL。
           
      • importedKeySetDefault - 如果已经更新了主关键字,则把导入的关键字改为缺省值。
           
      • importedKeyRestrict - 与 importedKeyNoAction 相同
                              ( 为了与 ODBC 2.x 兼容 )
           

    11. DELETE_RULE short => 当删除主关键字时外部关键字将会:
         

           
      • importedKeyNoAction - 如果已经导入主关键字,则不允许删除它。
           
      • importedKeyCascade - 删除导入已删除关键字的行
      • importedKeySetNull - 如果已经删除了主关键字,则把导入的关键字改为 NULL。
           
      • importedKeyRestrict - 与 importedKeyNoAction 相同
                              ( 为了与 ODBC 2.x 兼容 )
           
      • importedKeySetDefault - 如果已经删除了主关键字,则把导入的关键字改为缺省值。
           

    12. FK_NAME String => 外部关键字名 ( 可以为 null)
    13. PK_NAME String => 主关键字名 ( 可以为 null)
    14. DEFERRABILITY short => 外部关键字的约束值是否能延续到提交

           
      • importedKeyInitiallyDeferred - 定义请参见 SQL92。
           
      • importedKeyInitiallyImmediate - 定义请参见 SQL92。
           
      • importedKeyNotDeferrable - 定义请参见 SQL92。
           




     
    参数:
     
    catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
    schema - 模式名模本;"" 检索没有那些模式的
     
    table - 一个表名
     
    返回值:
     
    ResultSet - 每一行是一个主关键字列说明
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。
     
    参见:
     
    getExportedKeys



    getExportedKeys

    public abstract ResultSet getExportedKeys(String catalog,
                                String schema,
                                String table) throws SQLException


    获得一个外部关键字表列的说明,该外部关键字列引用一个表的主关键字列 ( 外部关键字由一个表导出 )。 它们以 FKTABLE_CAT、FKTABLE_SCHEM、FKTABLE_NAME 和 KEY_SEQ 排序。

    每个外部关键字列说明具有以下的列:


    1. PKTABLE_CAT String => 主关键字表分类表 ( 可以为 null)
    2. PKTABLE_SCHEM String => 主关键字表模式 ( 可以为 null)
    3. PKTABLE_NAME String => 主关键字表名
    4. PKCOLUMN_NAME String => 主关键字列名
    5. FKTABLE_CAT String => 外部关键字表分类表 ( 可以为 null)
    6. FKTABLE_SCHEM String => 被导入的外部关键字表分类表 ( 可以为 null)
    7. FKTABLE_NAME String => 被导入的外部关键字表名
    8. FKCOLUMN_NAME String => 被导入的外部关键字列名
    9. KEY_SEQ short => 外部关键字的序列号
    10. UPDATE_RULE short => 当更新主关键字时外部关键字将会:

           
      • importedNoAction - 如果已经导入主关键字,则不允许更新它。
      • importedKeyCascade - 改变导入的关键字,与主关键字的更新保持一致。
      • importedKeySetNull - 如果已经更新了主关键字,则把导入的关键字改为 NULL。
           
      • importedKeySetDefault - 如果已经更新了主关键字,则把导入的关键字改为缺省值。
           
      • importedKeyRestrict - 与 importedKeyNoAction 相同
                              ( 为了与 ODBC 2.x 兼容 )
           

    11. DELETE_RULE short => 当删除主关键字时外部关键字将会:
         

           
      • importedKeyNoAction - 如果已经导入主关键字,则不允许删除它。
           
      • importedKeyCascade - 删除导入已删除关键字的行
      • importedKeySetNull - 如果已经删除了主关键字,则把导入的关键字改为 NULL。
           
      • importedKeyRestrict - 与 importedKeyNoAction 相同
                              ( 为了与 ODBC 2.x 兼容 )
           
      • importedKeySetDefault - 如果已经删除了主关键字,则把导入的关键字改为缺省值。
           

    12. FK_NAME String => 外部关键字名 ( 可以为 null)
    13. PK_NAME String => 主关键字名 ( 可以为 null)
    14. DEFERRABILITY short => 外部关键字的约束值是否能延续到提交

           
      • importedKeyInitiallyDeferred - 定义请参见 SQL92。
           
      • importedKeyInitiallyImmediate - 定义请参见 SQL92。
           
      • importedKeyNotDeferrable - 定义请参见 SQL92。
           




     
    参数:
     
    catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
    schema - 模式名模本;"" 检索没有那些模式的
     
    table - 一个表名
     
    返回值:
     
    ResultSet - 每一行是一个外部关键字列说明
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。
     
    参见:
     
    getImportedKeys



    getCrossReference

    public abstract ResultSet getCrossReference(String primaryCatalog,
                                  String primarySchema,
                                  String primaryTable,
                                  String foreignCatalog,
                                  String foreignSchema,
                                  String foreignTable) throws SQLException


    获得外部关键字表中外部关键字列的说明,它引用主关键字表中的主关键字列 ( 说明了一个表如何导入另一个表的关键字 )。通常它应该返回一个外部关键字 / 主关键字对 ( 大部分表每次只从一个表中导入一个关键字 )。它们以 FKTABLE_CAT、FKTABLE_SCHEM、FKTABLE_NAME 和 KEY_SEQ 排序。

    每个外部关键字列说明具有以下的列:


    1. PKTABLE_CAT String => 主关键字表分类表 ( 可以为 null)
    2. PKTABLE_SCHEM String => 主关键字表模式 ( 可以为 null)
    3. PKTABLE_NAME String => 主关键字表名
    4. PKCOLUMN_NAME String => 主关键字列名
    5. FKTABLE_CAT String => 外部关键字表分类表 ( 可以为 null)
    6. FKTABLE_SCHEM String => 被导入的外部关键字表模式 ( 可以为 null)
    7. FKTABLE_NAME String => 被导入的外部关键字表名
    8. FKCOLUMN_NAME String => 被导入的外部关键字列名
    9. KEY_SEQ short => 外部关键字的序列号
    10. UPDATE_RULE short => 当更新主关键字时外部关键字将会:

           
      • importedNoAction - 如果已经导入主关键字,则不允许更新它。
      • importedKeyCascade - 改变导入的关键字,与主关键字的更新保持一致。
      • importedKeySetNull - 如果已经更新了主关键字,则把导入的关键字改为 NULL。
           
      • importedKeySetDefault - 如果已经更新了主关键字,则把导入的关键字改为缺省值。
           
      • importedKeyRestrict - 与 importedKeyNoAction 相同
                              ( 为了与 ODBC 2.x 兼容 )
           

    11. DELETE_RULE short => 当删除主关键字时外部关键字将会:
         

           
      • importedKeyNoAction - 如果主关键字已经被导入,则不允许删除它。
           
      • importedKeyCascade - 删除导入已删除关键字的行
      • importedKeySetNull - 如果已经删除了主关键字,则把导入的关键字改为 NULL。
           
      • importedKeyRestrict - 与 importedKeyNoAction 相同
                              ( 为了与 ODBC 2.x 兼容 )
           
      • importedKeySetDefault - 如果已经删除了主关键字,则把导入的关键字改为缺省值。
           

    12. FK_NAME String => 外部关键字名 ( 可以为 null)
    13. PK_NAME String => 主关键字名 ( 可以为 null)
    14. DEFERRABILITY short => 外部关键字的约束值是否能够延续到提交

           
      • importedKeyInitiallyDeferred - 定义请参见 SQL92。
           
      • importedKeyInitiallyImmediate - 定义请参见 SQL92。
           
      • importedKeyNotDeferrable - 定义请参见 SQL92。
           




     
    参数:
     
    primaryCatalog - 一个分类表名;"" 检索那些没有分类表的;
    null 意味着从选择标准中删除分类表名。
    primatySchema - 模式名模本;"" 检索没有那些模式的
     
    primaryTable - 导入该关键字的表名
    foreignCatalog - 一个分类表名;"" 检索那些没有分类表的;
    null 意味着从选择标准中删除分类表名。
     
    foreignSchema - 模式名模本;"" 检索没有那些模式的
     
    foreignTable - 导入该关键字的表名
     
    返回值:
     
    ResultSet - 每一行是一个外部关键字列说明
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。
     
    参见:
     
    getImportedKeys



    getTypeInfo

    public abstract ResultSet getTypeInfo() throws SQLException


    获得该数据库支持的所有标准 SQL 类型说明。 它们先按 DATA_TYPE
    排序,然后按该数据类型与相应的 JDBC SQL 类型映射的紧密程度排序。

    每个类型说明具有以下的列:


    1. TYPE_NAME String => 类型名
    2. DATA_TYPE short => java.sql.Types 中的 SQL 数据类型
    3. PRECISION int => 最大精度
    4. LITERAL_PREFIX String => 用于引用一段文字的前缀 ( 可以为 null)
    5. LITERAL_SUFFIX String => 用于引用一段文字的后缀 ( 可以为 null)
    6. CREATE_PARAMS String => 用于创建类型的参数 ( 可以为 null)
    7. NULLABLE short => 该类型是否可以用 NULL?
         

           
      • typeNoNulls - 不允许 NULL 值
           
      • typeNullable - 允许 NULL 值
           
      • typeNullableUnknown - 不知是否允许 NULL 值
           

    8. CASE_SENSITIVE boolean=> 是否区分大小写?
    9. SEARCHABLE short => 可基于以下类型使用 "WHERE":

           
      • typePredNone - 没有支持
           
      • typePredChar - 只支持 WHERE .. LIKE
           
      • typePredBasic - 除了 WHERE .. LIKE 以外都支持
           
      • typeSearchable - 支持所有的 WHERE ..
           

    10. UNSIGNED_ATTRIBUTE boolean => 是否是无符号的?
    11. FIXED_PREC_SCALE boolean => 它是否可以是货币值?
    12. AUTO_INCREMENT boolean => 它是否可以用于自增的数值?
    13. LOCAL_TYPE_NAME String => 类型名的本地化版本( 可以为 null)
    14. MINIMUM_SCALE short => 支持最小的小数位数
    15. MAXIMUM_SCALE short => 支持最大的小数位数
      ted
    16. SQL_DATA_TYPE int => 未使用
    17. SQL_DATETIME_SUB int => 未使用
    18. NUM_PREC_RADIX int => 通常是 2 或 10



     
    返回值:
     
    ResultSet - 每一行是一个 SQL 类型说明
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。



    getIndexInfo

    public abstract ResultSet getIndexInfo(String catalog,
                              String schema,
                              String table,
                              boolean unique,
                              boolean approximate) throws SQLException


    获得一个关于表的索引和统计信息。 它们按 NON_UNIQUE、TYPE、
    INDEX_NAME 和 ORDINAL_POSITION 顺序排列。

    每个索引列说明具有以下的列:


    1. TABLE_CAT String => 表分类表 ( 可以为 null)
    2. TABLE_SCHEM String => 表的模式 ( 可以为 null)
    3. TABLE_NAME String => 表名
    4. NON_UNIQUE boolean => 索引值是否可以不是唯一的?
      当 TYPE 是 tableIndexStatistic 时为 false
    5. INDEX_QUALIFIER String => 索引分类表 ( 可以为 null);当
      TYPE 是 tableIndexStatistic 时为 null。
    6. INDEX_NAME String => 索引名;当 TYPE 是
      tableIndexStatistic 时为 null
    7. TYPE short => 索引类型:
         

           
      • tableIndexStatistic - 它标识了表的统计信息,该信息是与表的索引说明一起返回的
      • tableIndexClustered - 这是索引簇
           
      • tableIndexHashed - 这是散列索引
           
      • tableIndexOther - 这是其它类型的索引

    8. ORDINAL_POSITION short => 索引中列的序列号;当 TYPE 是
      tableIndexStatistic 时为零
    9. COLUMN_NAME String => 列名;当 TYPE 是
      tableIndexStatistic 时为 null
    10. ASC_OR_DESC String => 列的排序顺序,"A" => 升序,
          "D" => 降序,如果不支持排序顺序可能为 null;当 TYPE 是
      tableIndexStatistic 时为 null
    11. CARDINALITY int => 当 TYPE 是 tableIndexStatistic 时,它是表中的行数;否则它是索引中独特的数值是数目。
    12. PAGES int => 当 TYPE 是 tableIndexStatisic 时,这是用于表的页数,否则它是用于当前索引的页数。
    13. FILTER_CONDITION String => 如果存在,它是过滤器过条件。(
      可以为 null)



     
    参数:
     
    catalog - 一个分类表名;"" 检索那些没有分类表的;null 意味着从选择标准中删除分类表名
    schema - 模式名模本;"" 检索没有那些模式的
     
    table - 一个表名
     
    unique - 当为 true 时,只返回独特数值的索引;当为
    false,不管数值是否是独特的,返回其索引。
    approximate - 当为 true 时,允许结果表示大概的或溢出的数据值;当为 false 时要求结果必须是正确的
    返回值:
     
    ResultSet - 每一行是一个索引列说明
     
    抛出:
    SQLException
     
    如果发生了数据访问错误。

    相关文章
    本页查看次数: