일종의 동적 SQL 없이는이 작업을 수행 할 수 없습니다. 그 농구를 뛰어 넘는 대신, 보통 내가하는 일은 또 다른 스크립트를 생성하는 스크립트를 작성하는 것입니다.
첫째, 스크립트의 개요 :
SELECT 'IF EXISTS (SELECT * FROM [' + TABLE_NAME + ']' +
' WHERE [' + COLUMN_NAME + '] like ''%,%''' +
' or [' + COLUMN_NAME + '] like ''%''''%''' +
' or [' + COLUMN_NAME + '] like ''%'' + char(9) + ''%'')' +
' insert into @cols values (''' + COLUMN_NAME + ''')'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Tablename' and DATA_TYPE in ('char','varchar')
그것은 단지입니다 :
declare @cols table (name varchar(500))
...
select * from @cols
이 그런 나쁜 값에 대한 각 열을 확인합니다 일련의 명령문을 생성하기 위해이 같은 쿼리를 사용 이 쿼리를 실행 한 다음 스크립트에 결과를 붙여 넣고 실행하십시오. 한 번에 여러 테이블에서 작업 할 수 있도록이를 쉽게 수정할 수도 있습니다.
SQL로 SQL 코드를 생성하는 것은 항상 좋은 트릭입니다. nvarchar를 잊지 마십시오. – usr