2013-10-01 2 views
-2

저는 새로운 인턴이고 많은 딜러를 활성 (1) 또는 비활성 (0)으로 설정하는 작업을 할당 받았습니다.하나의 SQL 쿼리를 사용하여 2000 개의 행을 업데이트하는 방법

나는 Excel 파일에서 업데이트 할 딜러 목록을 가지고 있으며 SQL Server 테이블을 업데이트하고 있습니다.

나는 다음과 같은 SQL을 사용할 수 있습니다

UPDATE Dealer 
SET Active = 0 
WHERE dealer_id = 123456; 

또는

UPDATE Dealer 
SET Active = 1 
WHERE dealer_id = 123456; 

문제는 내가 고유 dealer_id와 2000+ 딜러, 각을 가지고 있고 그것은 매우 시간이 있음을 입력 할 낭비 것입니다 2000 번 이상.

더 빠른 방법이 있나요?

+3

Excel로 ... '데이터를 엑셀'로드에서 열을 업데이트하기 위해? –

+0

이러한 쿼리를 실행하기 위해 어떤 프로그램을 사용하고 있습니까? 또한, 당신은 모든 딜러 또는 최근에 변경된 딜러를 업데이트해야합니까? 그렇다면 최근에 변경된 딜러도 2k + 이상입니까? – Amber

+0

테이블에 딜러를 정렬하고 정렬에 따라 0/1을 넣을 수있는 다른 열이 있습니까? – TimSPQR

답변

1

그것은 당신이 모든 ID가 목록이있는 경우 빨리

UPDATE Dealer 
SET Active = 0 
WHERE dealer_id in(123456,123457,123458) 

당신이

UPDATE DEALER 
SET ACTIVE = 0 
WHERE DEALER_ID IN (Select dealer_id from dealer_active) 
을 조정하려는 모든 ID가 어딘가에 테이블이나 목록을 가지고하는 것입니다 쓸 수 달려있다
0

Excel 파일을 SQL Server 데이터베이스로로드하면됩니다. 이를 수행 할 수있는 도구가 있습니다. 즉, ODBC 드라이버를 설정하고 스프레드 시트에 연결 한 다음 업로드 할 수 있습니다. 또는 Access를 사용하여 Excel 스프레드 시트를 가져온 다음 SQL Server에 업로드 할 수 있습니다.

은 그 후 다음을 수행 할 수 있습니다

UPDATE Table2 
SET Table1.Active = Table2.Active 
FROM Table1, Table2 
WHERE Table1.Dealer_ID = Table2.Dealer_ID 

방법이 관련되어

관련 문제