문제

열 순서가 중요한 경우 단 하나의 열만 하나만있는 거대한 테이블에서 파일로 데이터를 내보낼 필요가 있습니다. 아래와 같이 BCP 명령을 사용하고 있습니다
bcp DBNAME.dbo.tblName out mydata.dat -Uusername -Ppassword -c
10 행이있는 테이블을 확인했으며 행의 순서가 데이터 파일에 유지되는 것을 알 수 있습니다. 그러나 행의 수가 10000 이상이라고 말하면 BCP가 주문을 유지한다고 가정 할 수 있습니까?

도움이 되었습니까?

해결책

SQL 문을 사용하면 ( ORDER BY) BCP 명령에서 :

http://www.sqlteam.com/article/exporting-data-programically-with-bcp-and-xp_cmdshell

여기에 다음 예가 있습니다.

SET @bcpCommand = 'bcp "SELECT * FROM pubs..authors 
   ORDER BY au_lname" queryout "' 

다른 팁

주문별로 주문을 사용하지 않는 한 SQL Select (또는 BCP)가 특정 순서 또는 동일한 순서로 값을 반환한다고 가정해서는 안됩니다.

일반적으로 값은 테이블의 색인을 기준으로 순서대로 반환됩니다.

그러나 값이 색인 순서대로 반환되지 않는 경우를 보았습니다. 디스크의 행이 인덱스에서 첫 번째 인 경우에도 디스크의 행 전에 캐시의 행이 반환 될 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top