zoukankan      html  css  js  c++  java
  • sql server 获取存储过程,表值,标量函数的参数

    所有的参数都是存在 sys.parameters 这个表中的,我们可以仿造 sql得到表中的列信息 这篇中的sql语句(提示:我们在表值函数中创建的表,最后我们是返回这个表的,我们可以用这个sql语句得到表值函数中返回的列信息)

    SELECT sp.name ParameterName,
           obj.name ObjName,
           systype.name ObjType,
           sp.is_output IsOutPut,
           CAST(sp.max_length AS INT) ByteLength, -- sys.columns中的max_length是字节
           (CASE
                WHEN systype.name = 'nvarchar'
                     AND sp.max_length > 0 THEN
                    sp.max_length / 2
                WHEN systype.name = 'nchar'
                     AND sp.max_length > 0 THEN
                    sp.max_length / 2
                WHEN systype.name = 'ntext'
                     AND sp.max_length > 0 THEN
                    sp.max_length / 2
                ELSE
                    sp.max_length
            END
           ) CharLength,
           CAST(sp.precision AS INT) Precision,
           CAST(sp.scale AS INT) Scale,
           sep.value Remark
    FROM sys.parameters sp
        LEFT JOIN sys.objects obj
            ON sp.object_id = obj.object_id
               AND obj.type IN ( 'FN', 'P', 'TF' )   --FN:标量,TF:表值,P:存储过程
        INNER JOIN sys.types systype
            ON sp.system_type_id = systype.system_type_id
               AND systype.user_type_id = sp.user_type_id
        LEFT JOIN sys.extended_properties sep
            ON sep.major_id = sp.object_id --得到是这个表的
               AND sp.parameter_id = sep.minor_id --这列的
    WHERE sp.parameter_id != 0;

    结果:

  • 相关阅读:
    atom那些事儿
    浙江省和杭州市
    Web API之indexedDB和Web SQL
    绝对定位元素居中
    多列等高布局
    git生成ssh key及github ssh key对接
    vuejs模板使用方法
    css3动画图片波纹效果
    sticky footer布局,定位底部footer
    css3圆环闪烁动画
  • 原文地址:https://www.cnblogs.com/Sea1ee/p/10335631.html
Copyright © 2011-2022 走看看