为什么我无法创建此过程?

时间:2015-02-18 04:25:39

标签: sql sql-server tsql stored-procedures

到目前为止,我只想感谢你们的大力帮助。我和你们有另一个挑战,而且我一直在努力让它发挥作用,但我可能已经在这个问题上筋疲力尽了。我是一名新的SQL学生,如果需要的话,可以减少一些麻烦。

目标是创建一个程序,通过提供学生ID,班级和字母等级来更新某人的成绩。

这是我拥有的

CREATE PROCEDURE AssignGradeToStudent
    @[Class Number] char,
    @student int,
    @Grade char,
AS
BEGIN
    UPDATE Enrollment
    SET [Grade] = COALESCE(@Grade,[Grade]) 
    WHERE [Class Number] = [Class Number]
      AND [Student] = Student  
END

2 个答案:

答案 0 :(得分:2)

以下情况如何?

CREATE PROCEDURE AssignGradeToStudent 
    @ClassNumber char, 
    @Student int,
    @Grade char
AS
BEGIN
    UPDATE Enrollment
    SET [Grade] = COALESCE(@Grade,[Grade])
    WHERE [Class Number] = @ClassNumber
       AND [Student] = @Student
END
GO

答案 1 :(得分:2)

这有很多问题。

将参数从@[Class Number]更改为@ClassNumber

删除@Grade char

之后的最后一个逗号

您的where子句似乎不正确,您可能希望将其更改为

Where [Class Number] = @ClassNumber
AND [Student] = @Student