在SQL Server Management Studio中执行简单的存储过程

时间:2013-12-06 10:15:52

标签: c# sql sql-server stored-procedures

这是一个用SQL Server Management Studio编写的简单存储过程。

它汇编很好,但我在调用它时遇到了问题:(

CREATE PROCEDURE [dbo].[DetermineVoltage]
   @itemDescription varchar(225) ,
   @voltageRating varchar(225) OUTPUT
AS
BEGIN
   SELECT 
       @voltageRating = REVERSE(SUBSTRING(REVERSE(@itemDescription),
       charindex(' V', REVERSE(@itemDescription)) + 2,
    CHARINDEX(' ', REVERSE(@itemDescription), charindex(' V', REVERSE(@itemDescription)) + 1) - charindex(' V', REVERSE(@itemDescription)) - 2))
   RETURN
END

在SQL Server Management Studio中,当我执行此存储过程时:

DECLARE  @voltageRating VARCHAR(225) 
exec dbo.DetermineVoltage['test 20V', @voltageRating]

我收到错误

  

程序或功能'DetermineVoltage'需要参数'@voltageRating',这是未提供的。

有许多SO答案讨论了相同的错误消息,但是从C#程序执行时。

但是,就我而言,如何在SQL Server Management Studio中执行存储过程?

1 个答案:

答案 0 :(得分:9)

declare @voltageRating varchar(225);
exec dbo.DetermineVoltage 'test 20V', @voltageRating output;

作为旁注,您可能希望将此过程转换为function