首页 新闻 赞助 找找看

怎么取得存储过程的返回列类型

0
悬赏园豆:10 [已关闭问题] 关闭于 2009-02-04 12:00

例如有这样的一个存储过程:

CREATE PROCEDURE [dbo].[sys_GetRoles]
AS
BEGIN
    SET NOCOUNT ON;

    select RoleId, RoleName, IsSysRole from dbo.sys_Roles

    IF @@ERROR <> 0
    BEGIN
       return(-1)
    END
    ELSE
    BEGIN
        return(1)
    END
END

我要取得它的返回列RoleId, RoleName, IsSysRole的类型,应该怎么做?有没有什么简单的解决办法.

问题补充: @snipen 我的意思是要取得存储过程中select出来的列的类型,我知道的解决办法是直接去分析存储过程里的TSQL语句,但是这样分析的话比较麻烦。
黄尚的主页 黄尚 | 菜鸟二级 | 园豆:272
提问于:2009-02-01 17:05
< >
分享
所有回答(3)
0

列的类型不是已经在创建表的时候就已经有了么?怎么还不知道他的返回类型呢?

www_omuying_com | 园豆:210 (菜鸟二级) | 2009-02-01 17:29
0

1楼问的也在理啊。。为什么还不知道呢?

如果想得到,是不是有专门的函数呀,你可以去查下看看呀。哈哈。。。菜鸟一个,学习中。。。

HiHero | 园豆:211 (菜鸟二级) | 2009-02-01 19:30
0

select  types.name   from   sysobjects   objects,syscolumns   columns,systypes   types 
where   objects.id=columns.id 
and   columns.usertype=types.usertype 
and   objects.name= '表名' 
and   columns.name= '列名 ' 

试试这个,没有测试,但原理相同

待吾伐楚乃可 | 园豆:211 (菜鸟二级) | 2012-05-22 19:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册