繁体   English   中英

SQL存储过程错误

[英]SQL Stored Procedure Error

也许我没有正确获取SQL参数,但这对我来说不起作用。 难道我做错了什么? 尝试保存此存储过程时,在关键字“ AS”附近收到错误的语法。

ALTER PROCEDURE MyProc
AS
DECLARE @CID int

DELETE FROM Contacts 
WHERE ContactID=@CID

RETURN

您应该尝试-

ALTER PROCEDURE MyProc
   @CID int
AS
BEGIN

DELETE FROM Contacts 
WHERE ContactID=@CID

RETURN 

END
GO

您需要将其更改为:

ALTER PROCEDURE MyProc
    @CID int
AS

Begin

DELETE FROM Contacts 
WHERE ContactID=@CID

end

GO

您缺少过程名称

ALTER PROCEDURE sp_YOURSPROC

编辑:

您有一个使用该名称的程序吗? 如果不是,您可能需要CREATE而不是ALTER 但这会给您一个invalid object name错误。

@CID应该是参数吗? 否则似乎没用。 但是,即使是这种情况,您也不会收到任何错误,也不会正确执行。

ALTER PROCEDURE MyProc
   @CID INT
AS
   DELETE FROM Contacts 
   WHERE ContactID=@CID

你已经宣布在过程 @CID。 但应将其声明为参数:

ALTER PROCEDURE MyProc

    @CID int -- it's a parameter

AS

   DELETE 
   FROM Contacts 
   WHERE ContactID = @CID

如果存储的过程在数据库中尚不存在,则必须使用CREATE PROCEDURE

CREATE PROCEDURE MyProc

    @CID int -- it's a parameter

AS

   DELETE 
   FROM Contacts 
   WHERE ContactID = @CID

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM