c# - 在 SQL Server Management Studio 中执行一个简单的存储过程

标签 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]

我得到一个错误

Procedure or function 'DetermineVoltage' expects parameter '@voltageRating', which was not supplied.

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

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

最佳答案

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

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

关于c# - 在 SQL Server Management Studio 中执行一个简单的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20421333/

相关文章:

c# - 将查询结果返回到列表框

mysql - Visual Studio 错误 : Unable to load the stored procedure for editing

php - 调试 mysqli 查询,否则出现 mysqli_error

mysql - DATE() MONTH() 等函数减慢查询速度

sql - 仅当变量是数值时才为其赋值

c# - 在 C# 中跳过方法调用?

C# windows 服务程序

sql-server - 无法创建与数据源的连接 'TfsOlapReportDS'

sql - 错误的 SQL 统计信息如何导致对 40 行表的请求花费超过一分钟?

c# - 混合值对象/实体类型?