需要读取函数的参数的名称、类型等

解决方案 »

  1.   

    参见
    sysobjects
    syscomments
      

  2.   

    select b.name,b.length from sysobjects a Inner Join syscolumns b on a.id=b.id inner join systypes c on b.xtype=c.xtype
    where a.id=object_id('函数名')
      

  3.   

    try:/*
    功能:返回某一表的所有字段、存储过程、函数的参数信息
    设计:OK_008
    时间:2006-05
    */
    CREATE FUNCTION FN_GetObjColInfo
    (@ObjName varchar(50))
    RETURNS  @Return_Table TABLE(
    TName nvarchar(50),
    TypeName nvarchar(50),
    TypeLength nvarchar(50),
    Colstat Bit
    )  
    AS  
    BEGIN 
    INSERT  @Return_Table 
    select b.name as 字段名,c.name as 字段类型,b.length/2 as 字段长度,b.colstat as 是否自动增长
    from sysobjects a 
    inner join syscolumns b on a.id=b.id 
    inner join systypes c on c.xusertype=b.xtype 
    where a.name =@ObjName 
    order by  B.ColID
    RETURN
    END
    /*
    eg:
    SELECT * FROM dbo.FN_GetObjColInfo('SP_CheckOriginalData')
    --SP_CheckOriginalData 为存储过程名,也可以提取自定义函数和表等信息
    */
      

  4.   

    declare @func_name varchar(100)
    set  @func_name ='pqs_Split'select  text from syscomments where id=object_id(@func_name)

    sp_helptext @func_name
      

  5.   

    select s.name,c.name,st.name,c.length from sysobjects as s join syscolumns as c on s.id=c.id join systypes as st on st.xtype=c.xtype where s.id=object_id('object_name')