这是一个用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中执行存储过程?
答案 0 :(得分:9)
declare @voltageRating varchar(225);
exec dbo.DetermineVoltage 'test 20V', @voltageRating output;
作为旁注,您可能希望将此过程转换为function。