Sql server 不正确的语法错误sql
我看不到我的编码中有任何错误。错误消息是 Msg 156,级别15,状态1,程序CreateOrUpdate,第28行[批处理起始行0]Sql server 不正确的语法错误sql,sql-server,stored-procedures,syntax-error,Sql Server,Stored Procedures,Syntax Error,我看不到我的编码中有任何错误。错误消息是 Msg 156,级别15,状态1,程序CreateOrUpdate,第28行[批处理起始行0] 关键字“PROC”附近的语法不正确 请帮助我,谢谢。一个建议是在两个create语句之间添加一个go,并删除系统注释: CREATE PROC CreateOrUpdate @ID INT, @NRIC VARCHAR(50), @Name VARCHAR(50), @Description VARCHAR(50), @
关键字“PROC”附近的语法不正确
请帮助我,谢谢。一个建议是在两个create语句之间添加一个go,并删除系统注释:
CREATE PROC CreateOrUpdate
@ID INT,
@NRIC VARCHAR(50),
@Name VARCHAR(50),
@Description VARCHAR(50),
@Location1 VARCHAR(50)
AS
BEGIN
IF (@ID = 0)
BEGIN
INSERT INTO tblBlacklist (NRIC, Name, Description, createdatetime, Location1)
VALUES (@NRIC, @Name, @Description, GETDATE(), @Location1)
END
ELSE
BEGIN
UPDATE tblBlacklist
SET NRIC = @NRIC,
Name = @Name,
Description = @Description,
createdatetime = GETDATE()
WHERE ID = @ID
AND Location1 = @Location1
END
END
/****** Object: StoredProcedure [dbo].[ContactViewAll] Script Date: 15-
Apr-2017 7:39:13 AM ******/
CREATE PROC ViewAll
@Location1 VARCHAR(50)
AS
BEGIN
SELECT *
FROM tblBlacklist
WHERE Location1 = @Location1
END
尝试将您的输入参数环绕在Fist brace()中。数据库是什么?当您添加SQL标记时,会显示一个框,其中建议您也为您正在使用的特定DBMS添加一个标记,因为它们之间的语法和功能不同。你为什么忽视这个建议?你只是让你需要更长的时间才能得到答案,因为我们现在必须等待你添加答案,这样我们才能知道如何帮助你。这很简单-你错过了一个机会-哦,我不知道这是一个旧的答案:)在参数列表周围使用括号不是必需的。
CREATE PROC CreateOrUpdate
@ID int,
@NRIC varchar(50),
@Name varchar(50),
@Description varchar(50),
@Location1 varchar(50)
AS
BEGIN
IF(@ID=0)
BEGIN
INSERT INTO tblBlacklist(NRIC,Name,Description,createdatetime,Location1)
VALUES(@NRIC,@Name,@Description,getdate(),@Location1)
END
ELSE
BEGIN
UPDATE tblBlacklist
SET
NRIC = @NRIC,
Name = @Name,
Description = @Description,
createdatetime = getdate()
WHERE ID= @ID and Location1=@Location1
END
END
GO
CREATE PROC ViewAll
@Location1 varchar(50)
AS
BEGIN
SELECT *
FROM tblBlacklist
WHERE Location1 = @Location1
END
GO