📄 databasemetadata.java
字号:
/* * @(#)DatabaseMetaData.java 1.15 98/04/24 * * Copyright 1996-1998 by Sun Microsystems, Inc., * 901 San Antonio Road, Palo Alto, California, 94303, U.S.A. * All rights reserved. * * This software is the confidential and proprietary information * of Sun Microsystems, Inc. ("Confidential Information"). You * shall not disclose such Confidential Information and shall use * it only in accordance with the terms of the license agreement * you entered into with Sun. */package java.sql;/** * This class provides information about the database as a whole. * * <P>Many of the methods here return lists of information in ResultSets. * You can use the normal ResultSet methods such as getString and getInt * to retrieve the data from these ResultSets. If a given form of * metadata is not available, these methods should throw a SQLException. * * <P>Some of these methods take arguments that are String patterns. These * arguments all have names such as fooPattern. Within a pattern String, "%" * means match any substring of 0 or more characters, and "_" means match * any one character. Only metadata entries matching the search pattern * are returned. If a search pattern argument is set to a null ref, it means * that argument's criteria should be dropped from the search. * * <P>A SQLException will be thrown if a driver does not support a meta * data method. In the case of methods that return a ResultSet, * either a ResultSet (which may be empty) is returned or a * SQLException is thrown. */public interface DatabaseMetaData { //---------------------------------------------------------------------- // First, a variety of minor information about the target database. /** * Can all the procedures returned by getProcedures be called by the * current user? * * @return true if so * @exception SQLException if a database-access error occurs. */ boolean allProceduresAreCallable() throws SQLException; /** * Can all the tables returned by getTable be SELECTed by the * current user? * * @return true if so * @exception SQLException if a database-access error occurs. */ boolean allTablesAreSelectable() throws SQLException; /** * What's the url for this database? * * @return the url or null if it can't be generated * @exception SQLException if a database-access error occurs. */ String getURL() throws SQLException; /** * What's our user name as known to the database? * * @return our database user name * @exception SQLException if a database-access error occurs. */ String getUserName() throws SQLException; /** * Is the database in read-only mode? * * @return true if so * @exception SQLException if a database-access error occurs. */ boolean isReadOnly() throws SQLException; /** * Are NULL values sorted high? * * @return true if so * @exception SQLException if a database-access error occurs. */ boolean nullsAreSortedHigh() throws SQLException; /** * Are NULL values sorted low? * * @return true if so * @exception SQLException if a database-access error occurs. */ boolean nullsAreSortedLow() throws SQLException; /** * Are NULL values sorted at the start regardless of sort order? * * @return true if so * @exception SQLException if a database-access error occurs. */ boolean nullsAreSortedAtStart() throws SQLException; /** * Are NULL values sorted at the end regardless of sort order? * * @return true if so * @exception SQLException if a database-access error occurs. */ boolean nullsAreSortedAtEnd() throws SQLException; /** * What's the name of this database product? * * @return database product name * @exception SQLException if a database-access error occurs. */ String getDatabaseProductName() throws SQLException; /** * What's the version of this database product? * * @return database version * @exception SQLException if a database-access error occurs. */ String getDatabaseProductVersion() throws SQLException; /** * What's the name of this JDBC driver? * * @return JDBC driver name * @exception SQLException if a database-access error occurs. */ String getDriverName() throws SQLException; /** * What's the version of this JDBC driver? * * @return JDBC driver version * @exception SQLException if a database-access error occurs. */ String getDriverVersion() throws SQLException; /** * What's this JDBC driver's major version number? * * @return JDBC driver major version */ int getDriverMajorVersion(); /** * What's this JDBC driver's minor version number? * * @return JDBC driver minor version number */ int getDriverMinorVersion(); /** * Does the database store tables in a local file? * * @return true if so * @exception SQLException if a database-access error occurs. */ boolean usesLocalFiles() throws SQLException; /** * Does the database use a file for each table? * * @return true if the database uses a local file for each table * @exception SQLException if a database-access error occurs. */ boolean usesLocalFilePerTable() throws SQLException; /** * Does the database treat mixed case unquoted SQL identifiers as * case sensitive and as a result store them in mixed case? * * A JDBC-Compliant driver will always return false. * * @return true if so * @exception SQLException if a database-access error occurs. */ boolean supportsMixedCaseIdentifiers() throws SQLException; /** * Does the database treat mixed case unquoted SQL identifiers as * case insensitive and store them in upper case? * * @return true if so * @exception SQLException if a database-access error occurs. */ boolean storesUpperCaseIdentifiers() throws SQLException; /** * Does the database treat mixed case unquoted SQL identifiers as * case insensitive and store them in lower case? * * @return true if so * @exception SQLException if a database-access error occurs. */ boolean storesLowerCaseIdentifiers() throws SQLException; /** * Does the database treat mixed case unquoted SQL identifiers as * case insensitive and store them in mixed case? * * @return true if so * @exception SQLException if a database-access error occurs. */ boolean storesMixedCaseIdentifiers() throws SQLException; /** * Does the database treat mixed case quoted SQL identifiers as * case sensitive and as a result store them in mixed case? * * A JDBC-Compliant driver will always return true. * * @return true if so * @exception SQLException if a database-access error occurs. */ boolean supportsMixedCaseQuotedIdentifiers() throws SQLException; /** * Does the database treat mixed case quoted SQL identifiers as * case insensitive and store them in upper case? * * @return true if so * @exception SQLException if a database-access error occurs. */ boolean storesUpperCaseQuotedIdentifiers() throws SQLException; /** * Does the database treat mixed case quoted SQL identifiers as * case insensitive and store them in lower case? * * @return true if so * @exception SQLException if a database-access error occurs. */ boolean storesLowerCaseQuotedIdentifiers() throws SQLException; /** * Does the database treat mixed case quoted SQL identifiers as * case insensitive and store them in mixed case? * * @return true if so * @exception SQLException if a database-access error occurs. */ boolean storesMixedCaseQuotedIdentifiers() throws SQLException; /** * What's the string used to quote SQL identifiers? * This returns a space " " if identifier quoting isn't supported. * * A JDBC-Compliant driver always uses a double quote character. * * @return the quoting string * @exception SQLException if a database-access error occurs. */ String getIdentifierQuoteString() throws SQLException; /** * Get a comma separated list of all a database's SQL keywords * that are NOT also SQL92 keywords. * * @return the list * @exception SQLException if a database-access error occurs. */ String getSQLKeywords() throws SQLException; /** * Get a comma separated list of math functions. These are the * X/Open CLI math function names used in the JDBC function escape * clause. * * @return the list * @exception SQLException if a database-access error occurs. */ String getNumericFunctions() throws SQLException; /** * Get a comma separated list of string functions. These are the * X/Open CLI string function names used in the JDBC function escape * clause. * * @return the list * @exception SQLException if a database-access error occurs. */ String getStringFunctions() throws SQLException; /** * Get a comma separated list of system functions. These are the * X/Open CLI system function names used in the JDBC function escape * clause. * * @return the list * @exception SQLException if a database-access error occurs. */ String getSystemFunctions() throws SQLException; /** * Get a comma separated list of time and date functions. * * @return the list * @exception SQLException if a database-access error occurs. */ String getTimeDateFunctions() throws SQLException; /** * This is the string that can be used to escape '_' or '%' in * the string pattern style catalog search parameters. * * <P>The '_' character represents any single character. * <P>The '%' character represents any sequence of zero or * more characters. * * @return the string used to escape wildcard characters * @exception SQLException if a database-access error occurs. */ String getSearchStringEscape() throws SQLException; /** * Get all the "extra" characters that can be used in unquoted * identifier names (those beyond a-z, A-Z, 0-9 and _). * * @return the string containing the extra characters * @exception SQLException if a database-access error occurs. */ String getExtraNameCharacters() throws SQLException; //-------------------------------------------------------------------- // Functions describing which features are supported. /** * Is "ALTER TABLE" with add column supported? * * @return true if so * @exception SQLException if a database-access error occurs. */ boolean supportsAlterTableWithAddColumn() throws SQLException; /** * Is "ALTER TABLE" with drop column supported? * * @return true if so * @exception SQLException if a database-access error occurs. */ boolean supportsAlterTableWithDropColumn() throws SQLException; /** * Is column aliasing supported? * * <P>If so, the SQL AS clause can be used to provide names for * computed columns or to provide alias names for columns as * required. * * A JDBC-Compliant driver always returns true. * * @return true if so * @exception SQLException if a database-access error occurs. */ boolean supportsColumnAliasing() throws SQLException; /** * Are concatenations between NULL and non-NULL values NULL? *
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -