【问题标题】:Problem with a stored procedure存储过程的问题
【发布时间】:2011-07-15 12:05:07
【问题描述】:
ALTER PROCEDURE dbo.ModeratorSpamDeleteComment


  DECLARE @CommentID int;



AS
  BEGIN
    DELETE Comments
    WHERE CommentsID=@CommentID
  END

它说我在“AS”和“Declare”附近的语法不正确..

我想为存储过程传递 CommentID 参数并执行删除语句..

【问题讨论】:

    标签: asp.net sql stored-procedures


    【解决方案1】:
    ALTER PROCEDURE
            dbo.ModeratorSpamDeleteComment
                    @CommentID INT
    AS
            DELETE
            FROM    Comments
            WHERE   CommentsID = @CommentID
    

    【讨论】:

      【解决方案2】:

      不要DECLARE参数;

      ALTER PROCEDURE dbo.ModeratorSpamDeleteComment
      ( --parens are optional but clearer imo
         @CommentID int
      )
      AS --don't need BEGIN/END in this case
      
      DELETE FROM Comments
         WHERE CommentsID=@CommentID
      

      【讨论】:

        【解决方案3】:

        只需摆脱 DECLARE:

        ALTER PROCEDURE dbo.ModeratorSpamDeleteComment
        @CommentID int
        AS
        
        
          BEGIN
            DELETE Comments
            WHERE CommentsID=@CommentID
          END
        

        【讨论】:

          【解决方案4】:

          DECLARE 移动到您的过程主体中(在BEGINEND 之间)。它现在所在的区域是过程参数。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-04-18
            • 2020-03-09
            相关资源
            最近更新 更多