sql server存储过程中的输出参数问题 [英] Output parameter problem in sql server store procedure

查看:106
本文介绍了sql server存储过程中的输出参数问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好

我正在使用SQL服务器而且我创建了一个商店程序,但我收到了以下错误



Hi all
I am using SQL server and I created a store procedure but I am getting following error

Server: Msg 201, Level 16, State 4, Procedure SP_New_OrderNo, Line 0
Procedure 'SP_New_OrderNo' expects parameter '@ERROR', which was not supplied.





可以任何一个请帮帮我?



Bellow我给我的疼痛程序





Can any one please help me?

Bellow I am giving my Sore procedure

CREATE PROCEDURE SP_New_OrderNo @CustomerNo NVARCHAR(10), @ModelNo NVARCHAR(10), @ERROR VARCHAR(100)OUTPUT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @CusNo NVARCHAR(50)
DECLARE @MdlNo NVARCHAR(50)
SELECT @CusNo=CustomerNo, @MdlNo=ModelNo FROM TblSerialNo WHERE CustomerNo=@CustomerNo
IF @CusNo=@CustomerNo
BEGIN
IF @MdlNo=@ModelNo
BEGIN
SET @ERROR  = 'THIS CUSTOMER NO. AND MODEL NO. IS IN DATABASE PLEASE ENTER SERIAL NUMBER'
END
ELSE
BEGIN
SET @ERROR  = 'THIS CUSTOMER NO. IS IN DATABASE PLEASE ENTER MODELNO AND SERIAL NUMBER'
END
END
ELSE
BEGIN
SET @ERROR  = 'PLEASE ENTER CUSTOMER NO.'
INSERT INTO TblSerialNo (CustomerNo, ModelNo) VALUES (@CustomerNo, @ModelNo)
END

END

GO

EXEC SP_New_OrderNo '111','123'





感谢所有



Thanks To all

推荐答案

因为你还有额外的字段作为输出参数,而不是执行SP作为

Since you also have additional field as output parameter, instead of executing SP as
EXEC SP_New_OrderNo '111','123'



您需要执行以下操作:


you need to do something like:

declare @error varchar(100)
exec yourStoredProcedureName '111','123', @error output
print @error


我希望有一个空格顶部的定义:

I hope there is a space in the definition at the top:
@ERROR VARCHAR(100) OUTPUT





现在,由于您没有提供thrid参数,因此出现错误。即使它被标记为OUTPUT,它也被定义为SP的参数之一。所以,试试:



Now, error comes as you have not supplied the thrid parameter. Even though it is marked as OUTPUT, it''s defined as one of the parameters for SP. So, try:

EXEC SP_New_OrderNo '111','123', @ERROR OUTPUT
SELECT @ERROR





参考:

< a href =http://msdn.microsoft.com/en-us/library/ms378108.aspx> MSDN:使用带有输出参数的存储过程 [ ^ ]

存储过程:返回数据 [ ^ ]

使用查询窗口中的OUTPUT参数执行存储过程 [ ^ ]



Refer:
MSDN: Using a Stored Procedure with Output Parameters[^]
Stored Procedures: Returning Data[^]
Executing a stored procedure with OUTPUT parameters from Query window[^]


错误说明了一切!你需要提供一些东西来接收程序的out参数。



参见 http://sqlserverplanet.com/tsql/how-to-call-a-stored-procedure [ ^ ]
The error says it all! You need to give something to receive the out parameter of the procedure.

See http://sqlserverplanet.com/tsql/how-to-call-a-stored-procedure[^]


这篇关于sql server存储过程中的输出参数问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆