Pregunta

necesito para exportar datos a un archivo de una enorme mesa con una sola columna, pero miles de filas en las que el orden de fila es importante. Estoy utilizando comando bcp como a continuación
    bcp DBNAME.dbo.tblName out mydata.dat -Uusername -Ppassword -c
He hablado con la tabla con 10 filas y veo que el orden de las filas se mantiene en el archivo de datos. Pero puedo asumir BCP sería mantener el orden si el número de filas es decir más de 10.000?

¿Fue útil?

Solución

creo que lo hará si se utiliza una instrucción SQL (con ORDER BY) en su comando bcp:

http://www.sqlteam.com/ Artículo / exportación-data-programáticamente-con-BCP-y-xp_cmdshell

donde tienen el siguiente ejemplo:

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

Otros consejos

Nunca se debe asumir que un SELECT SQL (o BCP) serán valores de retorno en un cierto orden o el mismo orden a menos que utilice una cláusula ORDER BY.

Generalmente, los valores se devuelven en orden basado en un índice en la tabla.

Sin embargo, he visto casos en los que los valores no se devuelven en el orden del índice. Parece ser que las filas de la caché pueden ser devueltos antes de las filas de disco, incluso si las filas en el disco son los primeros en el índice.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top