동적 인 sql.following을 쓰려고하는데 내 저장 프로 시저가 있는데 SQL 쿼리를 @SQLSTATEMENT에 추가하면이 문제를 해결할 수 있습니까? 그것은 + 마크Sql 동적 쿼리 관련 문제
EX에서 오류를 보여줍니다 - 시도 SET의 @SQLSTATEMENT + 'AND TA.AreaID='[email protected]+' '
ALTER PROCEDURE spGetOverDueDocuments
@AreaID INT =NULL,
@DepartmentID INT= NULL,
@ABSID INT =NULL,
@DisciplineID INT = NULL,
@CPOID INT = NULL,
@DocumentTypeID INT = NULL,
@DueType VaRCHAR(20) = NULL
AS
BEGIN
DECLARE @SQLSTATEMENT VARCHAR(MAX)
SELECT @SQLSTATEMENT = 'SELECT * '+
'FROM tblActionHeader AH INNER JOIN '+
'tblDocumentRevisionActionHeader DAH ON AH.ActionHeaderID=DAH.ActionHeaderID INNER JOIN '+
'tblDocumentRevision DR ON DAH.DocumentRevisionID=DR.DocumentRevisionID INNER JOIN '+
'tblDocumentHeader DH ON DR.DocumentHeaderID=DH.DocumentHeaderID INNER JOIN tblABS TB ON DH.ABSID=TB.ABSID ' +
'INNER JOIN tblArea TA ON TA.AreaID=TB.AreaNo INNER JOIN tblContractPODocumentHeader CDH ON '+
' CDH.DocumentHeaderID=DH.DocumentHeaderID INNER JOIN tblDiscipline DC ON '+
' DH.DisciplineID=DC.DisciplineID INNER JOIN tblContractPO CPO ON CPO.CPOID=DH.CPOID INNER JOIN tblDocumentType DT '+
' ON DT.DocumentTypeID=DH.DocumentTypeID '+
'WHERE AH.ActionTypeID=4 '
IF @AreaID<>'0'
BEGIN
SET @SQLSTATEMENT + ' AND TA.AreaID='[email protected]+' '
END
IF @ABSID<>'0'
BEGIN
SET @SQLSTATEMENT + ' AND TB.ABSID='[email protected]+' '
END
IF @DisciplineID<>'0'
BEGIN
SET @SQLSTATEMENT + ' AND DC.DisciplineID='[email protected]+' '
END
IF @CPOID<>'0'
BEGIN
SET @SQLSTATEMENT + ' AND CPO.CPOID='[email protected]+' '
END
IF @DocumentTypeID<>'0'
BEGIN
SET @SQLSTATEMENT + ' AND DT.DocumentTypeID='[email protected]+' '
END
EXEC(@SQLSTATEMENT)
END
고맙습니다. – chamara