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

    为当前环境中的单个存储过程或用户定义函数返回列信息。



    语法


    sp_sproc_columns [[@procedure_name =] 'name']

        [,[@procedure_owner =] 'owner']

        [,[@procedure_qualifier =] 'qualifier']

        [,[@column_name =] 'column_name']

        [,[@ODBCVer =] 'ODBCVer']



    参数


    [@procedure_name =] 'name'



    是用于返回目录信息的过程名。name 的数据类型是 nvarchar(390),默认设置为 %,表示当前数据库中的所有表。不支持通配符模式匹配。



    [@procedure_owner =] 'owner'



    是过程所有者的名称。owner 的数据类型为 nvarchar(384),默认设置为 NULL。不支持通配符模式匹配。如果未指定 owner,则应用基础 DBMS 的默认过程可视性规则。



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



    [@procedure_qualifier =] 'qualifier'



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



    [@column_name =] 'column_name'



    是单列并且当只需要目录信息的一列时才使用。column_name 的数据类型是 nvarchar(384),默认设置为 NULL。如果省略 column_name,则返回所有列。指定的值可以包含使用基础 DBMS 通配符匹配模式的通配符。为获得最大的互操作性,网关客户端应只采用 SQL-92 标准模式匹配(% 和 _ 通配符)。



    [@ODBCVer =] 'ODBCVer'



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



    返回代码值




    结果集

































































































































    列名数据类型描述
    PROCEDURE_QUALIFIERsysname过程限定符名称。该列可以为 NULL。
    PROCEDURE_OWNERsysname过程所有者名称。该列始终返回值。
    PROCEDURE_NAMEnvarchar(134)过程名。该列始终返回值。
    COLUMN_NAMEsysname返回的 TABLE_NAME 中每列的列名。该列始终返回值。
    COLUMN_TYPEsmallint该字段始终返回值:

    0 = SQL_PARAM_TYPE_UNKNOWN

    1 = SQL_PARAM_TYPE_INPUT

    2 = SQL_PARAM_TYPE_OUTPUT

    3 = SQL_RESULT_COL

    4 = SQL_PARAM_OUTPUT

    5 = SQL_RETURN_VALUE


    DATA_TYPEsmallintODBC 数据类型的整型代码。如果该数据类型不能映射到 SQL-92 类型,则该值为 NULL。本机数据类型名称在 TYPE_NAME 列中返回。
    TYPE_NAMEsysname数据类型的字符串表示法。这是由基础 DBMS 表示的数据类型名称。
    PRECISIONint有效数字个数。PRECISION 列的返回值以 10 为基数。
    LENGTHint数据的传输大小。
    SCALEsmallint小数点右边的数字个数。
    RADIXsmallint是数字类型的基数。
    NULLABLEsmallint指定为空性:

    1 = 可创建允许空值的数据类型

    0 = 不允许空值


    REMARKSvarchar(254)对过程列的描述。SQL Server 不为该列返回值。
    COLUMN_DEFnvarchar(4000)列的默认值。
    SQL_DATA_TYPEsmallintSQL 数据类型出现在描述符的 TYPE 字段时的值。该列与 DATA_TYPE 列相同,datetime 和 SQL-92 interval 数据类型除外。该列始终返回值。
    SQL_DATETIME_SUBsmallint如果 SQL_DATA_TYPE 的值是 SQL_DATETIMESQL_INTERVAL,则为 datetime SQL-92 interval 子代码。对于 datetime 和 SQL-92 interval 以外的数据类型,该字段为 NULL。
    CHAR_OCTET_LENGTHintcharacter binary 数据类型列的最大长度(以字节为单位)。对于所有其它数据类型,该列返回 NULL。
    ORDINAL_POSITIONint列在表中的顺序位置。表中的第一列为 1。该列始终返回值。
    IS_NULLABLEvarchar(254)表中的列是否可以为空。根据 ISO 规则决定是否可以为空。遵从 ISO SQL 标准的 DBMS 无法返回空字符串。

    如果列可包含 NULL 则显示 YES,如果列不能包含 NULL 则显示 NO。



    如果不知道是否可以为空,该列则返回零长度字符串。



    该列返回的值与 NULLABLE 列返回的值不同。


    SS_DATA_TYPEtinyint由开放式数据服务扩展存储过程使用的 SQL Server 数据类型。有关更多信息,请参见数据类型



    注释


    返回的列属于存储过程的参数或结果集。如果 sp_stored_procedures 为某个存储过程返回的 SP_NUM_PARAMETERSSP_NUM_RESULT_SETS 列为 –1(不确定),则 sp_sproc_columns 不为该存储过程返回行。在 SQL Server 中,只返回有关存储过程的输入和输出参数的列信息。



    在 ODBC 中,sp_sproc_columnsSQLProcedureColumns 等效。返回的结果按 PROCEDURE_QUALIFIERPROCEDURE_OWNERPROCEDURE_NAME 和参数在过程定义内出现的次序排序。



    权限


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

    相关文章
    本页查看次数: