0
sp_executesql에서 IN opeartor를 사용하려고하지만 잘못된 구문 인 '@TagIndexListToAdjust
'근처의 오류가 발생합니다.sp_executesql에서 쉼표로 구분 된 목록을 전달하는 방법
이 오류는 매개 변수 값 '(1,2,3)'의 양쪽에 작은 따옴표가 있기 때문에 발생합니다.
이 쿼리는 C# 모델 클래스에서 생성되므로 sp_executesql
과 같이 수정해야합니다.
USE [master]
GO
IF EXISTS (SELECT *
FROM sys.objects
WHERE object_id = OBJECT_ID(N'[dbo].[Persons]') AND type in (N'U'))
DROP TABLE [dbo].Persons
GO
USE [master]
GO
CREATE TABLE Persons
(
commaList nvarchar(MAX),
);
insert into Persons values ('1')
insert into Persons values ('2')
insert into Persons values ('3')
GO
exec sp_executesql N'
Select *
from Persons
where commaList in @TagIndexListToAdjust',
N'@TagIndexListToAdjust varchar(67)',
@TagIndexListToAdjust='(1,2,3)'
오류 해결에 도움이 될 것입니다.