更新程序

时间:2012-10-29 19:32:49

标签: sql-server

我正在处理SQL服务器中的过程:

我在SQL服务器上的新功能&我收到这个错误:

  

必须声明标量变量" @ Course_Name"

我的程序是:

USE [Hyaline management System]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[GetUpdateCourseID] 
@CourseID int
AS
BEGIN

SET NOCOUNT ON;
Update Course SET
    Course_Name = @Course_Name,
    Course_Duration = @Course_Duration
where CourseID = @CourseID;

END

有人可以指出我哪里出错了吗?和解决方案?

2 个答案:

答案 0 :(得分:3)

看来,您缺少一些参数。由于您正在执行UPDATECourse_Name的{​​{1}},因此您可能需要将它们传递到存储过程中:

Course_Duration

答案 1 :(得分:1)

CREATE PROCEDURE [dbo].[GetUpdateCourseID] 
    @CourseID int,
    @Course_Name varchar(max),
    @Course_Duration int -- just a guess, minutes as an int?
AS
SET NOCOUNT ON;
Update Course
   SET Course_Name = @Course_Name,
       Course_Duration = @Course_Duration
 WHERE CourseID = @CourseID;
GO

它说

  

必须声明缩放器变量“@Course_Name”

因为你还没有声明它。看起来您希望将该变量作为SP的输入,因此您需要在"AS"前面的参数部分中将其添加到正文部分。

p / s - 请剪切并粘贴错误消息。此错误是可以理解的,但如果您正确提供,则其他一些更容易在Google上进行搜索。这个应该声明标量(a)不是缩放器