我在DECLARE的存储过程中出错了

时间:2014-05-11 15:28:02

标签: sql sql-server stored-procedures

我学会使用存储过程进行插入,但是我收到此错误

  

DECLARE

附近的语法不正确

我对语法不太了解,请帮助纠正它并为我解释它;

USE P_DETAIL

CREATE PROCEDURE PRO_INSERT DECLARE 
@ST_ID int,
@ST_NAME NVARCHAR(50),
@ST_SEX NVARCHAR(10),
@ST_DOB DATE,
@ST_AGE INT,
@ST_POSITION NVARCHAR(30),
@ST_ADDRESS NVARCHAR(60),
@ST_PHONE INT,
@SV_ID INT,
BEGIN

INSERT INTO TBL_STAFF
(
ST_ID ,
ST_NAME ,
ST_SEX ,
ST_DOB ,
ST_AGE ,
ST_POSITION ,
ST_ADDRESS ,
ST_PHONE ,
SV_ID 
)
VALUES
(
@ST_ID ,
@ST_NAME ,
@ST_SEX ,
@ST_DOB ,
@ST_AGE ,
@ST_POSITION ,
@ST_ADDRESS ,
@ST_PHONE ,
@SV_ID 
)

END;

1 个答案:

答案 0 :(得分:0)

将行CREATE PROCEDURE PRO_INSERT DECLARE更改为CREATE PROCEDURE PRO_INSERT AS。然后声明每个变量,如下所示:

USE P_DETAIL

CREATE PROCEDURE PRO_INSERT 
AS
DECLARE
... --List of variables and procedure code 

还有一件事 - 您需要删除@SV_ID INT,之后的逗号,因为这是输入参数列表中的最后一个参数。

查看此sample Fiddle,了解代码出错的位置。