Importação de arquivo texto com bulk insert

03/12/2004

0

Caros amigos,
não sei como executar a seguinte situação:
tenho um arquivo txt que quero importar através do comando bulk insert, só que este arquivo está da seguinte maneira
00100|00000|....
00100|00001|....
...
00200|00000|....
...
00300|00000|....
...
Reparem que a primeira coluna é como um registro identificador e para cada registro existe uma tabela. A minha dúvida é: como separar no bulk insert o registro para cada tabela?
Se tiverem outra maneira de fazer fora o bulk insert também tá legal...
Obrigado e até mais...


Jorgeolimpia

Jorgeolimpia

Responder

Posts

03/12/2004

Laertepjunior

Eu não conheço uma maneira do Bulk fazer isso...mas uma vez eu tive que fazer praticamente isso que vc precisa... e resolvi colocando todos os dados do txt numa tabela fria com o bulk insert..e logo depois tratei desta tabela fria pras quentes (usei DTS pra passar os campos já consistidos com ActiveX Script task )...mas pode ser feito tudo na mesma proc.

Abraços


Responder

03/12/2004

Laertepjunior

Algo como

Create Proc usp_InsereTxt

as

-- digamos que vc criou uma tabela fria chamada TblRecebeTxt (NomeTabela varchar(20),Campo1 varchar(20),Campo2...)
--coloca teu bulk aqui inserindo todo o txt na TblRecebeTxt

--declara a variavel pra usar no cursor
declare @nometabela varchar(20)
declare @sql varchar(200)

Set @nometabela = ´´
set @sql = ´´


--Fazemos um cursor nela pra pegar os nomes das tabelas

DECLARE AndaTAbela CURSOR LOCAL FORWARD_ONLY FOR
SELECT Distinct NomeTabela
FROM TblRecebeTxt

OPEN AndaTAbela

FETCH NEXT FROM AndaTAbela
INTO @nometabela
WHILE @@FETCH_STATUS = 0
BEGIN
set @sql = ´insert into ´ + @nometabela + ´(Campo1,Campo2) select Campo1,Campo2 from TblRecebeTxt where nometabela = ´´´ + @nometabela + ´´´´
exec (@sql)
FETCH NEXT FROM AndaTAbela
INTO @nometabela
END
Close AndaTabela
Deallocate AndaTabela

Só dar umas garabadinhas nela pra sua necessidade..
Abraços


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar