如何摆脱这个SQL错误? [英] How to get rid of this SQL errot?
本文介绍了如何摆脱这个SQL错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
亲爱的,
这里我正在努力解决sql语法错误。我发布了 sql strore程序和错误..
请找出那个错误的地方。请帮帮我...
Dear all,
here i'm struggling with sql syntax error.here i have posted my sql strore procedure and error..
please find where's that error.Please help me...
GO
CREATE PROCEDURE SP_ADD_ENQUIRIES(
@POL VARCHAR(50),
@POD VARCHAR(50),
@FPOD VARCHAR(50),
@WEIGHT REAL,
@SHIPPER VARCHAR(150),
@CONSIGNEE VARCHAR(150)
)
AS
DECLARE @SUFFIX INT;
DECLARE @PREFIX VARCHAR(3);
DECLARE @RESULT VARCHAR(MAX);
SET @PREFIX='ENQ';
DECLARE @ENQUIRY_ID VARCHAR(MAX);
IF NOT EXISTS(SELECT * FROM ENQUIRY_MASTER)
INSERT INTO ENQUIRY_MASTER VALUES('ENQ_1',@POL,@POD,@FPOD,@WEIGHT,@SHIPPER,@CONSIGNEE)
ELSE
SET @SUFFIX=SELECT MAX(ENQUIRY) FROM ENQUIRY_MASTER;
INSERT INTO ENQUIRY_MASTER VALUES(@PREFIX+@SUFFIX,@POL,@POD,@FPOD,@WEIGHT,@SHIPPER,@CONSIGNEE)
错误是,
关键字' SELECT '。
Error is,
Incorrect syntax near the keyword 'SELECT'.
推荐答案
请更改下面带下划线的行。
Please change the line that is underlined below.
GO
CREATE PROCEDURE SP_ADD_ENQUIRIES(
@POL VARCHAR(50),
@POD VARCHAR(50),
@FPOD VARCHAR(50),
@WEIGHT REAL,
@SHIPPER VARCHAR(150),
@CONSIGNEE VARCHAR(150)
)
AS
DECLARE @SUFFIX INT;
DECLARE @PREFIX VARCHAR(3);
DECLARE @RESULT VARCHAR(MAX);
SET @PREFIX='ENQ';
DECLARE @ENQUIRY_ID VARCHAR(MAX);
IF NOT EXISTS(SELECT * FROM ENQUIRY_MASTER)
INSERT INTO ENQUIRY_MASTER VALUES('ENQ_1',@POL,@POD,@FPOD,@WEIGHT,@SHIPPER,@CONSIGNEE)
ELSE
SELECT @SUFFIX= MAX(ENQUIRY) FROM ENQUIRY_MASTER;
INSERT INTO ENQUIRY_MASTER VALUES(@PREFIX+@SUFFIX,@POL,@POD,@FPOD,@WEIGHT,@SHIPPER,@CONSIGNEE)
替换:
Replace:
IF NOT EXISTS(SELECT * FROM ENQUIRY_MASTER)
with:
with:
IF NOT EXISTS(SELECT ENQ_ID FROM ENQUIRY_MASTER WHERE ENQ_ID=@EID)
替换:
Replace:
SET @SUFFIX=SELECT MAX(ENQUIRY) FROM ENQUIRY_MASTER;
,
with
SELECT @SUFFIX=MAX(ENQUIRY) FROM ENQUIRY_MASTER;
您的最终代码应该是:
Your final code should be:
CREATE PROCEDURE SP_ADD_ENQUIRIES(
@POL VARCHAR(50),
@POD VARCHAR(50),
@FPOD VARCHAR(50),
@WEIGHT REAL,
@SHIPPER VARCHAR(150),
@CONSIGNEE VARCHAR(150)
)
AS
DECLARE @SUFFIX INT;
DECLARE @PREFIX VARCHAR(3);
DECLARE @RESULT VARCHAR(MAX);
SET @PREFIX='ENQ';
DECLARE @ENQUIRY_ID VARCHAR(MAX);
IF NOT EXISTS(SELECT ENQ_ID FROM ENQUIRY_MASTER WHERE ENQ_ID=@EID)
INSERT INTO ENQUIRY_MASTER VALUES('ENQ_1',@POL,@POD,@FPOD,@WEIGHT,@SHIPPER,@CONSIGNEE)
ELSE
SELECT @SUFFIX= MAX(ENQUIRY) FROM ENQUIRY_MASTER;
INSERT INTO ENQUIRY_MASTER VALUES(@PREFIX+@SUFFIX,@POL,@POD,@FPOD,@WEIGHT,@SHIPPER,@CONSIGNEE)
这篇关于如何摆脱这个SQL错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文