1
午後の友人。私は以下の構文を持っていますが、私は実際の問題が何であるかを心配しています。 SSMSは「選択」の近くに「間違った構文」というエラーを表示し、SQL文字列全体を私に返す。動的SQLスローイングの構文が正しくありません
誰かが問題の内容を指摘してくれますか、どのように対処してください。
Declare @rep varchar(max) = 'Habib', @startdate varchar(100) = '01/01/2017', @enddate varchar(100) = '03/31/2017'
SET @rep = CHAR(39)+CHAR(39)[email protected]+CHAR(39)+CHAR(39)
Declare @sql nvarchar(4000) = 'Select * FROM OPENQUERY(sumSol,''Select
representative repName
,hiredate hiredate
FROM alpha ac
WHERE smellogram IN (''''1'''',''''3'''',''''4'''',''''5'''',''''6'''')
AND id IN (Select id from frank)
AND ((NOT ((holdingstatus = ''''13''''))))
AND representative IN ('[email protected]+')
AND jbhiredate BETWEEN ('+ CHAR(39) + CHAR(39)
+ CAST(@startdate AS NVARCHAR(500)) + CHAR(39) + CHAR(39) + N')
AND (' + CHAR(39) + CHAR(39) + CAST(@enddate AS NVARCHAR(500)) + CHAR(39) + CHAR(39) + N' '')'
PRINT @SQL
EXEC sp_ExecuteSQL @SQL
私が手にエラーが
閉じられていない引用符文字列の後にある
EDIT
これで生成されたSQL
Select * FROM OPENQUERY(sumSol,''Select
representative repName
,hiredate hiredate
FROM alpha ac
WHERE smellogram IN (''1'',''3'',''4'',''5'',''6'')
AND id IN (Select id from frank)
AND ((NOT ((holdingstatus = ''13''))))
AND representative IN ('Habib')
AND jbhiredate BETWEEN (''01/01/2017'') AND (''03/31/2017'')')
ロットをテストしたわけではありません。生成されたSQLを共有する –
@JohnCappelletti - 編集を参照してください - ありがとう –