Array
(
)

Separar dados de uma única coluna em várias colunas

Jorgeolimpia
   - 23 fev 2005

Olá pessoal, tudo bem?
Estou com uma dúvida, que acredito que com a montagem de um cursor possa resolver, mas ainda não consegui. Bom, vamos lá:
Tenho um arquivo texto separado por ´|´ (pipe) que carrego para o SQLServer. Então, tenho um formato assim:
0001|blablabla|nononono|12345|
0001|blobloblo|nananana|56870|
0002|abcdefgh1j|112|jjoijoi|aa1111|
Se fosse fazer um bulk insert para este arquivo, teria que ter duas tabelas, já que os quatro primeiros campos (0001 e 0002) são meus indicadores de tabelas. O que estou fazendo é um bulk insert em uma tabela com uma única coluna (varchar(8000)). Assim, consegui colocar todo este arquivo em uma tabela SQLServer. O problema agora é criar um cursor que faça o seguinte: se encontrar no início 0001, fazer um select into desta linha, fazendo com que cada pipe seja o separador de uma coluna e outra. Tentei fazer um cursor usando select replace trocando o pipe pela vírgula para ficar mais fácil, mas mesmo assim não tive muito sucesso.

Obrigado pela leitura do tópico e pelas dicas! :-)