now*_*ed. 2 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
Run Code Online (Sandbox Code Playgroud)
在SQL Server Management Studio中,当我执行此存储过程时,如下所示:
DECLARE @voltageRating VARCHAR(225)
exec dbo.DetermineVoltage['test 20V', @voltageRating]
Run Code Online (Sandbox Code Playgroud)
我收到一个错误
程序或功能'DetermineVoltage'需要参数'@voltageRating',这是未提供的.
有许多SO答案讨论了相同的错误消息,但是从C#程序执行时.
但是,就我而言,如何在SQL Server Management Studio中执行存储过程?
declare @voltageRating varchar(225);
exec dbo.DetermineVoltage 'test 20V', @voltageRating output;
Run Code Online (Sandbox Code Playgroud)
作为旁注,您可能希望将此过程转换为函数.