我很難格式化與SP_executesql
一起使用的字符串。我不斷收到以下錯誤:創建要與exec一起使用的SQL字符串sp_executesql @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 + '))'
我認爲錯誤我在這一段代碼 '選擇不同PROVIDER_ID FROM提供商光伏WHERE PROVIDER_ID IN(選擇PROVIDER_ID從## sanctiontermswid)和ps.provider_status_type_id = ''' + @changestring + ''」 ))' – schalld
嗯,我改變了第一個GETDATE()爲「CONVERT(VARCHER(20),GETDATE())」並沒有錯誤。由此產生的字符串看起來不正確,但你應該能夠從那裏進行更改。只需在最後添加「SELECT @Sql」,以便您可以看到結果並相應地進行更改。 – LeopoldVonBuschLight