No bcp mantener el orden consecutivo al exportar en un archivo de datos?
-
19-09-2019 - |
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?
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.