Home > database >  Msg 102, Level 15, State 1, Server XX - ERP, Procedure, Line 0 '=' near a syntax error.
Msg 102, Level 15, State 1, Server XX - ERP, Procedure, Line 0 '=' near a syntax error.

Time:11-08









CREATE PROCEDURE A
(
@ PRD_NO varchar (MAX),
@ CUST varchar (MAX),
@ DD_S VARCHAR (10),
@ DD_E VARCHAR (10),
@ PT VARCHAR (30),
@ TT VARCHAR (30)
)

AS
The BEGIN
SET NOCOUNT ON;

DECLARE @ the PARM NVARCHAR (MAX)=N ',
@ SQLCOMMAND NVARCHAR (MAX)=N '


The SET @ SQLCOMMAND='SELECT zs, date, NAME, PRD_NO, HS_UP1, NS_UP1, HS_PJS, HS_PJS_ trend, HS_ZS, HS_ZS_ trend, HS_ZWS, HS_ZWS_ trend, NS_PJS, NS_PJS_ trend, NS_ZS, NS_ZS_ trend, NS_ZWS, NS_ZWS_ trend, MAX (CAST (date AS VARCHAR (10))=@ DD_E, MIN (CAST (date AS VARCHAR (10))=@ DD_S from XJD WHERE PRD_NO=@ PRD_NO'

IF (@ TT='HS AND @ PT=' A ')
The SET @ SQLCOMMAND=@ SQLCOMMAND + 'AND cast (HS_UP1 as VARCHAR (20))=@ TT' + 'AND cast (HS_PJS as VARCHAR (20))=@ PT'
IF (@ TT='HS AND @ PT=' B ')
The SET @ SQLCOMMAND=@ SQLCOMMAND + 'AND cast (HS_UP1 as VARCHAR (20))=@ TT' + 'AND cast (HS_ZS as VARCHAR (20))=@ PT'
IF (@ TT='HS AND @ PT=' C ')
The SET @ SQLCOMMAND=@ SQLCOMMAND + 'AND cast (HS_UP1 as VARCHAR (20))=@ TT' + 'AND cast (HS_ZWS as VARCHAR (20)=@ PT'

IF (@ TT='NS AND @ PT=' A ')
The SET @ SQLCOMMAND=@ SQLCOMMAND + 'AND cast (NS_UP1 as VARCHAR (20))=@ TT' + 'AND cast (NS_PJS as VARCHAR (20))=@ PT'
IF (@ TT='NS AND @ PT=' B ')
The SET @ SQLCOMMAND=@ SQLCOMMAND + 'AND cast (NS_UP1 as VARCHAR (20))=@ TT' + 'AND cast (NS_ZS as VARCHAR (20))=@ PT'
IF (@ TT='NS AND @ PT=' C ')
The SET @ SQLCOMMAND=@ SQLCOMMAND + 'AND cast (NS_UP1 as VARCHAR (20))=@ TT' + 'AND cast (NS_ZWS as VARCHAR (20))=@ PT'

IF (@ CUST=' ')
The set @ sqlcommand=@ sqlcommand + '" AND NAME=@ CUST'
IF (@ CUST='aaa, BBB, CCC')
The SET @ SQLCOMMAND=@ SQLCOMMAND + 'AND @ CUST IN (SELECT DISTINCT NAME FROM CUST)'

The SET @ the PARM='
@ PRD_NO varchar (MAX) OUTPUT,
@ CUST varchar (MAX) OUTPUT,
@ DD_S VARCHAR (10) OUTPUT,
@ DD_E VARCHAR (10) OUTPUT,
@ PT VARCHAR (30) OUTPUT,
@ TT VARCHAR (30) OUTPUT '
PRINT @ SQLCOMMAND
The EXEC SP_EXECUTESQL @ SQLCOMMAND, @ the PARM,
@ PRD_NO=@ PRD_NO,
@ CUST=@ CUST,
@ PT=@ PT,
@=@ TT TT,
@ DD_S=@ DD_S,
@ DD_E=@ DD_E

END


DECLARE
@ PRD_NO varchar (MAX),
@ CUST varchar (MAX),
@ DD_S VARCHAR (10),
@ DD_E VARCHAR (10),
@ PT VARCHAR (30),
@ TT VARCHAR (30)
The EXEC A
@ PRD_NO=@ PRD_NO,
@ TT=NS,
@ PT='A',
@ CUST='aaa, BBB, CCC,
@ DD_S=@ DD_S,
@ DD_E=@ DD_E;

SELECT @ DD_S @ DD_E, @ PT, @ TT, @ PRD_NO, @ CUST;



DROP PROCEDURE A




Operation result error DECLARE
@ PRD_NO varchar (MAX),
@ CUST varchar (MAX),
@ DD_S VARCHAR (10),
@ DD_E VARCHAR (10),
@ PT VARCHAR (30),
@ TT VARCHAR (30)
The EXEC A
@ PRD_NO=@ PRD_NO,
@ TT=NS,
@ PT='A',
@ CUST='aaa, BBB, CCC,
@ DD_S=@ DD_S,
@ DD_E=@ DD_E;

SELECT @ DD_S @ DD_E, @ PT, @ TT, @ PRD_NO, @ CUST;
Msg 102, Level 15, State 1, Server XX - ERP, Procedure, Line 0
'=' near a syntax error,
SELECT zs, date, NAME, PRD_NO HS_UP1, NS_UP1, HS_PJS, HS_PJS_ trend, HS_ZS, HS_ZS_ trend, HS_ZWS, HS_ZWS_ trend, NS_PJS, NS_PJS_ trend, NS_ZS, NS_ZS_ trend, NS_ZWS, NS_ZWS_ trend, MAX (CAST (date AS VARCHAR (10))=@ DD_E, MIN (CAST (date AS VARCHAR (10))=@ DD_S from XJD WHERE PRD_NO=@ PRD_NO AND CAST (NS_UP1 AS VARCHAR (20))=@ TT AND CAST (NS_PJS AS VARCHAR (20))=@ PT AND @ CUST IN (SELECT DISTINCT NAME from CUST)
[42000] [Microsoft] [10.0] SQL Server Native Client (SQL Server) '=' near a syntax error, (102)
[01000] [Microsoft] [10.0] SQL Server Native Client/SQL Server SELECT zs, date, NAME, PRD_NO, HS_UP1, NS_UP1, HS_PJS, HS_PJS_ trend, HS_ZS, HS_ZS_ trend, HS_ZWS, HS_ZWS_ trend, NS_PJS, NS_PJS_ trend, NS_ZS, NS_ZS_ trend, NS_ZWS, NS_ZWS_ trend, MAX (CAST (date AS VARCHAR (10))=@ DD_E, MIN (CAST (date AS VARCHAR (10))=@ DD_S from XJD WHERE PRD_NO=@ PRD_NO AND CAST (NS_UP1 AS VARCHAR (20))=@ TT AND CAST (NS_PJS AS VARCHAR (20))=@ PT AND @ CUST IN (SELECT DISTINCT NAME from CUST) (0)

Time: 0.019 s

CodePudding user response:

Help me see where is wrong?