Método 1 - Usar uma tabela de destino com TODOS os campos do arquivo, com tamanho fixo.
Para este método, a tabela de destino deverá possuir, OBRIGATORIAMENTE, a estrutura igual ao do arquivo de origem. No momento do LOADER, utilizar os parâmetros FIELD TERMINATED BY e ENCLOSED BY sem conteúdo ('').
Exemplo:
Arquivo
00101022014FULANO DE TAL M
00201032014FULANA DO TAL F
-- Tabela
CREATE TABLE tabela(
codigo char(3) default null,
data char(3) default null,
nome char(15) default null,
sexo char(1) default null
) engine=MyIsam DEFAULT CHARSET=latin1;
-- Loader
LOAD DATA LOCAL INFILE '/Arquivo'
INTO TABLE tabela
FIELDS TERMINATED BY ''
ENCLOSED BY ''
LINES TERMINATED BY '\n';
-- Verificando se houve erro
show warnings;
Método 2 - Efetuar o LOADER em uma váriável auxiliar (@linha) e depois fazer o set para cada uma das linhas, usando a função SUBSTRING.
Exemplo:
Arquivo
00101022014FULANO DE TAL M
00201032014FULANA DO TAL F
-- Tabela
CREATE TABLE tabela(
codigo int default null,
nome varchar(15) default null,
data date default null,
sexo char(1) default null
) engine=MyIsam DEFAULT CHARSET=latin1;
-- Loader
LOAD DATA LOCAL INFILE '/Arquivo'
INTO TABLE tabela
FIELDS TERMINATED BY ''
ENCLOSED BY ''
LINES TERMINATED BY '\n'
(@linha)
SET codigo = substr(@linha, 1, 3),
nome = trim(upper(substr(@linha, 12, 15))),
date = str_to_date(substr(@linha, 4, 8), '%Y%m%d'),
sexo = substr(@linha, 27, 1)
;
-- Verificando se houve erro
show warnings;
Nenhum comentário:
Postar um comentário