ResultSet getColumns(String catalog,String schemaPattern,String tableNamePattern,String columNamePattern) throws SQLException
用于获得目录catalog中可用的数据表的数据列的信息
参数列表:
Catalog:表示一个目录名
schemaPattern:表示模式名类型
tableNamePattern:表示数据名类型
columnNamePattern:表示数据列名类型
返回值是一个ResultSet对象,其中每一行描述一个数据列。每个数据列包含以下属性:
TABLE_CAT:表示数据表的目录名
TABLE_SCHEM:表示数据表的模式名
TABLE_NAME:表示数据表名
COLUMN_NAME:表示数据列名
DATA_TYPE:表示java.sql.Types中的SQL类型,是一个short型数值。
TYPE_NAME:表示数据源使用的本地类型名
COLUMN_SIZE:表示数据列大小的一个int型数据。对于char或者date类型来说,表示字符串的最大长度;对于numeric或者decimal类型来说,表示精度。
BUFFER_LENGTH:表示当前不使用
DECIMAL_DIGITS:表示小数数字的个数,是一个int型数据。
NUM_PREC_RADIX:表示列的数据的基数,通常为二进制或十进制。
NULLABLE:表示数据列可否为null,是一个int型整数值。可能值如下:
columnNoNulls可能不允许使用null
columnNullable一定不允许使用null
columnNullableUnknow不知道是否允许使用null
REMARKS:包含数据列的一个解释性注释,可以为null
COLUMN_DEF:列的默认值,可以为null。
SQL_DATA_TYPE:整型数值,当前不使用。
SQL_DATATIME_SUB:整型数值,当前不使用。
CHAR_OCTET_LENGTH:表示数据列的最大字节个数,仅针对CHAR类型。
ORDINAL_POSITION:表示数据表中的数据列的序号,从1开始。
IS_NULLABLE:字符串对象,若为“YES”,说明这个列允许使用null值;若为“NO”,则说明数据列不允许使用null值;若为空字符串“”,则表示可否使用null值未知。
ResultSet getColumnPrivileges(String catalog,String schema,String table,String columnNamePattern) throws SQLException
用于获取数据列的访问权限的信息。
参数列表
Catalog:表示一个目录名
schema:表示模式名类型
table:表示一个表名
columnNamePattern:表示一个共匹配的列名模式
如果列名表符合目录名,并且列名表的模式符合模式参数,列的表名符合table参数,列名与columnNamePattern参数匹配,那么函数将返回这些列的访问权限,返回的信息是按照列名和列的权限排序的;函数返回的权限除了可以看作是某个列的权限之外,还可以看作是一个表的权限。
函数的返回值是一个ResultSet对象,每一行都是对一个列的访问权限的描述。
对列的访问权限的描述包括以下属性:
TABLE_CAT:表示数据表的目录名
TABLE_SCHEM:表示数据表的模式名
TABLE_NAME:表示数据表名
COLUMN_NAME:表示数据列名
COLUMN_NAME:表示数据列名
GRANTOR:表示权限的授权人,可以为null
GRANTEE:表示被授权者,可以为null
PRIVILEGE:表示可以访问的权限,如select,insert,update,reference等。
IS_GRANTABLE:表示指名被授权者是否有权限将权限转让给他人。若为“YES”,则可以再次转让权限,若为“NO”,则不可转让。若为null,则未知。