Trabalhar com type record

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
carloscsilva
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 22
Registrado em: Qui, 26 Jul 2012 8:55 am
" Pense diferente! - "

Ola pessoal!
Alguém, pode me auxilar ... como trabalhar com type record no oracle. Fico muito perdido, quando aparece esse tipo de logica. Sera alguém tem um exemplo simples para passar?

Desde já agradeço.
vlws!
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother, blzinha?
Tem esse exemplo que montei rapidamente aqui:

Selecionar tudo

declare
  -- Criação do record
  type rPessoa is record (id_pessoa number
                         ,nome varchar2(100));
  -- Variável do tipo record                       
  vPessoa rPessoa := null;
begin
  
  vPessoa.id_pessoa := 1;
  vPessoa.nome      := 'Trevisolli';
  
  Dbms_output.put_line(' Nome: '||vPessoa.nome || ' ID: '||vPessoa.id_pessoa);
end;  
Caso necessite de mais informações, dá uma pesquisada aqui no fórum por "RECORD" que acho que vai encontrar exemplos interessantes que podem lhe ajudar, como esses:

http://www.glufke.net/oracle/viewtopic. ... ord#p34584
http://www.glufke.net/oracle/viewtopic. ... ord#p32555

Qualquer coisa, manda pra gente.
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Só complementando,

A documentação oficial da ORACLE oferece também uma boa explicação sobre o uso de TYPE RECORD:

http://docs.oracle.com/cd/B10500_01/app ... .htm#19661

Abraços,

Sergio Coutinho
Tinho
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 317
Registrado em: Seg, 16 Nov 2009 4:50 pm
Localização: São Paulo - SP

A funcionalidades de se trabalhar com TYPES tras os conceitos da orinetação a objetos para o banco de dados que são conhecidos com objetos relacionais, como por exemplo, reutilização (re-uso), o que torna o código mais enxuto, "elegante" e teoricamente mais eficiente.

Com o TYPE você pode por exemplo substituir o uso de tabelas temporárias, ou criar objetos com base em um modelo pré-definido, armazenando resultado de cursores, uma vez que ele se comporta como um RECORD e uma matriz "multi-dimensional".

Consultando a documentação que os colegas passaram você poderá verificar alguns exemplos.

Att.,
Avatar do usuário
fbifabio
Moderador
Moderador
Mensagens: 199
Registrado em: Ter, 22 Fev 2011 1:51 pm
Localização: São Paulo - SP
Contato:
Fábio Prado
www.fabioprado.net

carloscsilva,

Um record (registro) é um tipo de dado que pode representar uma linha de uma tabela. Um record contém uma linha e várias colunas. quando você usar um record dentro de um bloco PL/SQL você precisar declarar quais colunas ele deverá conter, por isso , primeiro você declara o record usando a palavra-chave "type" e em seguida você declara uma varíavel para conter dados com a estrutura do registro declarado previamente. Para acessar os dados de um registro, você irá acessar pelo seu nome declarado + nome de uma coluna também declarada dentro do registro. Ex.: registro.coluna. Bom... resumindo... é essa a lógica. Mais detalhes, ensino nos meus treinamentos PL/SQL Essentials: http://www.fabioprado.net/p/plsql-essentials.html

[]s

Fábio Prado
www.fabioprado.net
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes