[oracle_br] Separar campos

2010-03-03 Por tôpico Carlos Pinto
Ola, alguem consegue dar-me uma ajuda?

 

Necessitava de um exemplo para poder “cortar” um ficheiro que têm como
separador o ;

 

 

Exemplo – tenho um ficheiro da seguinte forma:

 

Carlos;morada;12345

Jose;localidade;123456789

 

 

A ideia era separar sempre que tiver um ; e inserir numa tabela em campos
diferentes.

 

 

 

Obrigado.

 

 

Com os melhores cumprimentos, 

Carlos Pinto

 



[As partes desta mensagem que não continham texto foram removidas]



Re: [oracle_br] Separar campos

2010-03-03 Por tôpico francisco porfirio
você pode utilizar o comando susbtr combinado com instr.

Ex.:
Primeira Palavra -- substr(string, 1, instr(string,';',1,1)-1)
Segunda Palavra -- substr(string, instr(string,';',1,1)+1,
instr(string,';',1,2)-instr(string,';',1,1)-1)
Terceira Palavra -- substr(string, instr(string,';',1,2)+1, length(string)
- instr(string,';',1,2)-1)

a string sendo Jose;localidade;123456789, você teria o seguitne resultado:

Primeira Palavra -- Jose
Segunda Palavra -- localidade
Terfceira Palavra -- 123456789





Desta forma ele vai pegar varre do primeiro caracter de sua string até o  ;
.
Em 3 de março de 2010 10:06, Carlos Pinto carlos.pin...@yahoo.com.brescreveu:



 Ola, alguem consegue dar-me uma ajuda?

 Necessitava de um exemplo para poder “cortar” um ficheiro que têm como
 separador o ;

 Exemplo – tenho um ficheiro da seguinte forma:

 Carlos;morada;12345

 Jose;localidade;123456789

 A ideia era separar sempre que tiver um ; e inserir numa tabela em campos
 diferentes.

 Obrigado.

 Com os melhores cumprimentos,

 Carlos Pinto

 [As partes desta mensagem que não continham texto foram removidas]

  




-- 
Atenciosamente
Francisco Porfirio Ribeiro Neto


[As partes desta mensagem que não continham texto foram removidas]





--
Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

* Para sair deste grupo, envie um e-mail para:
oracle_br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [oracle_br] Separar campos

2010-03-03 Por tôpico Marcus Vinicius Miguel Pedro
José, pelo que entendi, ele tem um arquivo texto e gostaria de carregá-lo no 
banco de dados.

O melhor nesse caso seria usar o SQL Loader. Você pode usá-lo de 2 formas.

Se o banco de dados for 10g, você pode usá-lo com external table:

CREATE TABLE agenda (
  nome  VARCHAR2(50),
  endereco  VARCHAR2(50),
  telefone  VARCHAR2(50)
)
ORGANIZATION EXTERNAL (
  TYPE ORACLE_LOADER
  DEFAULT DIRECTORY ext_tables
  ACCESS PARAMETERS (
RECORDS DELIMITED BY NEWLINE
FIELDS TERMINATED BY ';'
MISSING FIELD VALUES ARE NULL
(
  nome  CHAR(5),
  endereco  CHAR(50),
  telefone  CHAR(50)
)
  )
  LOCATION ('arquivo.txt')
)
REJECT LIMIT UNLIMITED;



Ou você pode jogá-lo para uma tabela interna usando o utilitário sqlldr (SQL 
Loader mesmo). Para isso, o arquivo de dados você já tem, você teria que criar 
um arquivo de controle que tivesse a estrutura parecida com essa:

LOAD DATA
APPEND
INTO TABLE NOME_TABELA
FIELDS TERMINATED BY ;
(nome,endereco,telefone)
Supondo que o nome do arquivo de controle para esse caso se chame 
loader_agenda.ctl:

sqlldr username/passw...@server control=loader_agenda.ctl

Abraços,


Marcus Vinicius Miguel Pedro
OCP Database 9i
OCP Database 10g
OCE RAC 10g
mvmpe...@yahoo.com.br
Blog: http://www.viniciusdba.com.br



On 03/03/2010, at 10:06, Carlos Pinto wrote:

 Ola, alguem consegue dar-me uma ajuda?
 
 Necessitava de um exemplo para poder “cortar” um ficheiro que têm como
 separador o ;
 
 Exemplo – tenho um ficheiro da seguinte forma:
 
 Carlos;morada;12345
 
 Jose;localidade;123456789
 
 A ideia era separar sempre que tiver um ; e inserir numa tabela em campos
 diferentes.
 
 Obrigado.
 
 Com os melhores cumprimentos, 
 
 Carlos Pinto
 
 [As partes desta mensagem que não continham texto foram removidas]
 
 



[As partes desta mensagem que não continham texto foram removidas]





--
Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

* Para sair deste grupo, envie um e-mail para:
oracle_br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




RE: [oracle_br] Separar campos

2010-03-03 Por tôpico Carlos Pinto
Ola Jose e Marcus, obrigado pela a ajudaVou ver a melhor opcao, mas
realmente esta segunda hipótese parece ser a melhor e mais simples.

Obrigado.


Com os melhores cumprimentos, 
Carlos Pinto

-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em
nome de Marcus Vinicius Miguel Pedro
Enviada: quarta-feira, 3 de Março de 2010 13:22
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] Separar campos

José, pelo que entendi, ele tem um arquivo texto e gostaria de carregá-lo no
banco de dados.

O melhor nesse caso seria usar o SQL Loader. Você pode usá-lo de 2 formas.

Se o banco de dados for 10g, você pode usá-lo com external table:

CREATE TABLE agenda (
  nome  VARCHAR2(50),
  endereco  VARCHAR2(50),
  telefone  VARCHAR2(50)
)
ORGANIZATION EXTERNAL (
  TYPE ORACLE_LOADER
  DEFAULT DIRECTORY ext_tables
  ACCESS PARAMETERS (
RECORDS DELIMITED BY NEWLINE
FIELDS TERMINATED BY ';'
MISSING FIELD VALUES ARE NULL
(
  nome  CHAR(5),
  endereco  CHAR(50),
  telefone  CHAR(50)
)
  )
  LOCATION ('arquivo.txt')
)
REJECT LIMIT UNLIMITED;



Ou você pode jogá-lo para uma tabela interna usando o utilitário sqlldr (SQL
Loader mesmo). Para isso, o arquivo de dados você já tem, você teria que
criar um arquivo de controle que tivesse a estrutura parecida com essa:

LOAD DATA
APPEND
INTO TABLE NOME_TABELA
FIELDS TERMINATED BY ;
(nome,endereco,telefone)
Supondo que o nome do arquivo de controle para esse caso se chame
loader_agenda.ctl:

sqlldr username/passw...@server control=loader_agenda.ctl

Abraços,


Marcus Vinicius Miguel Pedro
OCP Database 9i
OCP Database 10g
OCE RAC 10g
mvmpe...@yahoo.com.br
Blog: http://www.viniciusdba.com.br



On 03/03/2010, at 10:06, Carlos Pinto wrote:

 Ola, alguem consegue dar-me uma ajuda?
 
 Necessitava de um exemplo para poder “cortar” um ficheiro que têm como
 separador o ;
 
 Exemplo – tenho um ficheiro da seguinte forma:
 
 Carlos;morada;12345
 
 Jose;localidade;123456789
 
 A ideia era separar sempre que tiver um ; e inserir numa tabela em campos
 diferentes.
 
 Obrigado.
 
 Com os melhores cumprimentos, 
 
 Carlos Pinto
 
 [As partes desta mensagem que não continham texto foram removidas]
 
 



[As partes desta mensagem que não continham texto foram removidas]






--
Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 

--
Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure
» Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos





Re: [oracle_br] Separar campos

2010-03-03 Por tôpico Douglas Ulmer
Carlos, você também pode usar o utl_fil_dir e criar uma procedure para
tratar estes valores, ai no PL/sql vc consegue fazer o que quiser, mas o
sqlloader no seu caso acredito que seja o mais prático e rápido.



Douglas R. Ulmer
douglas.ul...@m2v.com.br
+55 (41) 9621-3425
+55 (41) 4063-7081

M2V Systems
Best Software for you
www.m2v.com.br
NF-e CT-e SPED


Em 3 de março de 2010 10:06, Carlos Pinto carlos.pin...@yahoo.com.brescreveu:



 Ola, alguem consegue dar-me uma ajuda?

 Necessitava de um exemplo para poder “cortar” um ficheiro que têm como
 separador o ;

 Exemplo – tenho um ficheiro da seguinte forma:

 Carlos;morada;12345

 Jose;localidade;123456789

 A ideia era separar sempre que tiver um ; e inserir numa tabela em campos
 diferentes.

 Obrigado.

 Com os melhores cumprimentos,

 Carlos Pinto

 [As partes desta mensagem que não continham texto foram removidas]

  



[As partes desta mensagem que não continham texto foram removidas]





--
Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

* Para sair deste grupo, envie um e-mail para:
oracle_br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html