약 50 개의 열이있는 SQL 테이블이 있습니다. 나는 각각 foreach
루프와 비슷한 반복을 할 수 있기를 원한다. 각 열을 반복 할 때 끝 부분에 작은 따옴표가 하나씩 있는지 확인하고 싶으면 제거하십시오.SQL 테이블의 각 열을 반복합니다.
나는이 솔루션을 밖으로 내장되어 있지만 명시 적으로 열 이름을 정의 아래 참조 : 이것은 잘 작동하지만 오류의 몇 가지 가능성을 소개
select BrandName =
(CASE
WHEN (BrandName like '%"') THEN LEFT(BrandName, LEN(BrandName) - 1)
ELSE BrandName
END),
emailSubject =
(CASE
WHEN (emailSubject like '%"') THEN LEFT(emailSubject , LEN(emailSubject) - 1)
ELSE emailSubject
END),
-- and so on...
from tableName
.
foreach column c in table
if (c.EndsWith('"'))
c.RemoveEndCharacter()
이 가능, 그렇다면 당신은 내가 T-SQL에서 이러한 솔루션을 구현하는 방법에 대한 몇 가지 예를 제공 할 수 있습니다 : 나는 (의사) 그런 짓을 할 이유 그래서,이 무엇입니까?
감사합니다.
['sys.columns'] (http://msdn.microsoft.com/en-US/en-en/library/ms176106.aspx)를 기반으로 SQL 스크립트를 생성 할 수 있습니다. 그러나 C# 또는 Python 또는 이와 유사한 언어로 된 클라이언트 쪽이 훨씬 편할 것 같습니다. – Andomar
당신은 sql에서 반복 할 수 있지만 일반적으로 필요는 없습니다. 배열을 통해 명시 적으로 실행해야하는 다른 언어와 달리 sql은 테이블 데이터를 기반으로 구성됩니다. sql이 이미 각 데이터 행을 평가하여 사용자의 기준에 맞는지 확인하기 때문에이 문제를 어떻게 생각하는지 변경하십시오. 이 상황에서는 업데이트가 정상적으로 작동합니다. SQL이 당신을 위해 작업을 수행하게하십시오. 이런 유형의 문제를 해결하는 것은 정말 좋습니다. – Jenn
.NET을 사용해도 되니? – Paparazzi