SQL Server 2012를 실행 중이며 약 20,000 개의 항목이있는 데이터베이스가 있습니다. 약 5,000 개에 대해 몇 개의 열을 업데이트해야합니다.
csv에 열이 있으며 기본적으로 다음과 같습니다.
ClientNumber ClientName TaxYear OutputFileField
9455 James Bond and Company 2016 \local\cndps\93985.esx
4 번째 열 일치를 기준으로 처음 3 개 열을 업데이트해야합니다.
예를 들어 위의 내용을 업데이트해야합니다.
ClientNumber ClientName TaxYear OutputFileField
1111 Luis Fandora 2044 \local\cndps\93985.esx
SQL Server Management Studio를 통해 가져 오기를 시도했지만 작동하지 않았습니다.
어떤 도움을 주시면 감사하겠습니다.
@Shreyas Chavan이 제안한 것처럼 다음과 같이 할 수 있습니다.
임시 테이블을 만들고 새 스프레드 시트 데이터를로드합니다.
다음으로 기존 테이블을 네 번째 필드 ( OutputField
) 의 임시 테이블에 조인합니다 .
해당 조인을 기반으로 처음 세 개의 열을 업데이트합니다.
다음은 샘플 코드입니다.
CREATE TABLE #ClientInfo(
ClientNumber int NOT NULL,
ClientName nvarchar(255) NULL,
Tax_Year int NULL,
OutputField nvarchar(255) NULL)
GO
BULK INSERT #ClientInfo
FROM 'C:\Documents and Settings\corewania\Desktop\ClientInfo.csv'
--change this to match your directory
WITH(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n')
GO
UPDATE oci
SET oci.ClientNumber = nci.ClientNumber,
oci.ClientName = nci.ClientName,
oci.Tax_Year = nci.Tax_Year
FROM orig_Clientinfo oci
JOIN #ClientInfo nci on nci.OutputField = oci.OutputField;
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다