• 相关软件
    >sp_special_columns 创建者:webmaster 更新时间:2006-02-16 15:51

    返回唯一标识表中某行的优化列集。当事务更新行中的全部值时,还返回自动更新的列。



    语法


    sp_special_columns [@name =] 'name'

        
    [,[owner =] 'owner']

        [,[@qualifier =] 'qualifier']

        
    [,[@col_type =] 'col_type']

        [,[@scope =] 'scope']

        [,[@nullable =] 'nullable']

        [,[@ODBCVer =] 'ODBCVer']



    参数


    [@name =] 'name'



    是用于返回目录信息的表名。name 的数据类型是 sysname,没有默认设置。不支持通配符模式匹配。



    [owner =] 'owner'



    是用于返回目录信息的表所有者。owner 的数据类型是 sysname,默认设置为 NULL。不支持通配符模式匹配。如果未指定 owner,则应用基础 DBMS 的默认表可视性规则。



    在 Microsoft® SQL Server™ 中,如果当前用户拥有的表具有指定名称,则返回该表的列。如果未指定 owner 且当前用户不拥有带指定 name 的表,则该过程查找由数据库所有者拥有的带指定 name 的表。如果存在该表,则返回该表的列。



    [@qualifier =] 'qualifier'



    是表限定符的名称。qualifier 的数据类型为 sysname,默认设置为 NULL。多种 DBMS 产品支持表的三部分命名方式 (qualifier.owner.name)。在 SQL Server 中,该列表示数据库名。在某些产品中,该列表示表所在数据库环境的服务器名。



    [@col_type =] 'col_type'



    是列类型。col_type 的数据类型是 char(1),默认设置为 R。类型 R 返回优化列或列集,该列或列集通过检索列中的值,使得指定表中的任何行可以被唯一标识。列可以是专门为此目的设计的伪列,也可以是表的任何唯一索引的列。类型 V 返回指定表中的列(若有),当行中的值由任何事务更新时,该列由数据源自动更新。



    [@scope =] 'scope'



    是 ROWID 必需的最小作用域。scope 的数据类型是 char(1),默认设置为 T。作用域 C 指定只有当 ROWID 位于该行上时才有效。作用域 T 指定 ROWID 对事务有效。



    [@nullable =] 'nullable'



    表示特殊列能否接受空值。nullable 的数据类型是 char(1),默认设置为 U。O 指定特殊列不允许空值。U 指定列中可以部分为空。



    [@ODBCVer =] 'ODBCVer'



    是当前所使用的 ODBC 版本。ODBCVer 的数据类型是 int(4),默认设置为 2,表示 ODBC 2.0 版。有关 ODBC 2.0 版和 ODBC 3.0 版之间的差异的更多信息,请参见 ODBC 3.0 版的 ODBC SQLSpecialColumns 规范。



    返回代码值




    结果集

























































    列名数据类型描述
    SCOPEsmallint行 ID 的实际作用域。可以是 0、1 或 2。SQL Server 始终返回 0。该字段始终返回值。

    0 = SQL_SCOPE_CURROW。行 ID 只有位于该行上时才能保证有效。如果某行由另一个事务更新或删除,则后来使用该行 ID 重新选择时可能无法返回该行。



    1 = SQL_SCOPE_TRANSACTION。行 ID 在当前事务的持续时间内保证有效。



    2 = SQL_SCOPE_SESSION。行 ID 在会话(跨事务边界)的持续时间内保证有效。


    COLUMN_NAMEsysname返回的 table 中每列的列名。该字段始终返回值。
    DATA_TYPEsmallintODBC SQL 数据类型。
    TYPE_NAMEsysname数据源相关的数据类型名称,如 charvarcharmoneytext
    PRECISIONInt数据源上的列精度。该字段始终返回值。
    LENGTHInt数据源中以二进制形式存在的数据类型要求的长度(以字节为单位),例如,10 代表 char(10),4 代表 integer,2 代表 smallint
    SCALEsmallint数据源上列的小数位数。对于小数位数不适用的数据类型返回NULL。
    PSEUDO_COLUMNsmallint表示列是否是伪列。SQL Server 始终返回 2:

    0 = SQL_PC_UNKNOWN

    1 = SQL_PC_PSEUDO

    2 = SQL_PC_NOT_PSEUDO



    注释


    在 ODBC 中,sp_special_columns SQLSpecialColumns 等效。返回的结果按 SCOPE 排序。



    权限


    执行权限默认授予 public 角色。

    相关文章
    本页查看次数: