SP_executesql
で使用する文字列の書式設定に問題があります。あなたが最初GETDATEを変換するために忘れているように見えますexec sp_executesql @sqlで使用するSQL文字列を作成する
Msg 102, Level 15, State 1, Line 144
Incorrect syntax near '))'
ライン144は
すべての変数が
set @Sql = @Sql + ' select distinct provider_id, ' + @changestring + ', null,'''
+ 'case when ' + @changestring + '= 6 then ds.excldate +
else +
CONVERT(varchar(20),' + GETDATE() + ') end as '+ '''Effective_Date'
+ ''', null,1,' + @username + '''
+ ,NULL,' + CONVERT(varchar(20), GETDATE()) + ''',''' + CONVERT(varchar(20), GETDATE()) + ''', '''+ @username + '''' +
' from (
select distinct provider_id
FROM provider pv WHERE provider_id In (select Provider_id from dbo.##sanctiontermswid )) ds
where ds.provider_id not in (
select provider_id from provider_status ps where ps.provider_id in (
select distinct provider_id
FROM Provider pv WHERE provider_id IN (select Provider_ID from ##sanctiontermswid) and ps.provider_status_type_id = ' + @changestring + '))'
私は ' '+ @changestring + ''' PROVIDER_ID IN(sanctiontermswid ##からPROVIDER_IDを選択)とps.provider_status_type_id =プロバイダーPVは異なるPROVIDER_IDを選択し' エラーコードのこの部分にある私の考えます」 )) ' – schalld
最初のGETDATE()を「CONVERT(VARCHER(20)、GETDATE())」に変更し、エラーは発生しませんでした。結果の文字列は正しく表示されませんでしたが、そこから変更を加えることができます。最後に「SELECT @Sql」を追加するだけで結果を確認して変更を加えることができます。 – LeopoldVonBuschLight