【问题标题】: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 移动到您的过程主体中(在BEGIN 和END 之间)。它现在所在的区域是过程参数。