当前位置:  开发笔记 > 编程语言 > 正文

SQL Server存储过程:运行时询问参数

如何解决《SQLServer存储过程:运行时询问参数》经验,为你挑选了1个好方法。

我有以下存储过程:

CREATE PROCEDURE SigleEnseigne
    @Sigle VARCHAR(150) OUTPUT ,
    @Enseigne VARCHAR(150) OUTPUT ,
    @SigleEnseigne1 VARCHAR(150) OUTPUT
AS
BEGIN
    SELECT TOP 1
        @Sigle = ISNULL(John_Jack.Sigle, '') ,
        @Enseigne = ISNULL(John_Jack.Enseigne, '') ,
        @SigleEnseigne1 = CASE 
                             WHEN Code_Juridique LIKE 'M%'
                                THEN '      / ' + ISNULL(John_Jack.Enseigne, '')
                             WHEN ISNULL(John_Jack.Sigle, '') = ''
                                  AND ISNULL(John_Jack.Enseigne, '') = ''
                                THEN ''
                             ELSE @Sigle + ' / ' + @Enseigne
                          END
    FROM    
        John_Jack
END
GO

我已经能够创建它,感谢这里的帮助,在SO中.

但是,当我执行存储过程时,我收到以下错误

消息201,Niveau 16,4参谋部,程序SigleEnseigne,利涅89
拉过程OU fonction 'SigleEnseigne'出席乐paramètre ' @Sigle ',魁n'a PAS ETE弗尔尼拉.

它问我一个参数@Sigle,但它包含了我的存储过程中所需的一切.

更新:我正在执行这样的代码

EXEC SigleEnseigne

有人可以开导我吗?

谢谢



1> Roman Marusy..:

在使用所有参数作为输出的过程中,您应该在调用proc时设置这些参数

declare 
@Sigle VARCHAR(150), @Enseigne VARCHAR(150), @SigleEnseigne1 VARCHAR(150)
EXEC  SigleEnseigne @Sigle OUTPUT, @Enseigne OUTPUT, @SigleEnseigne1 OUTPUT

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有