Attribute and Table Anchoring

Attribute and Table Anchoring se refere a passar por referência o tipo de dados para a variável, referente a uma coluna ou a uma tabela no caso de uma variável composta. Ficou difícil de entender? Vejamos algum exemplo.

lv_var_type tabela1.coluna1%TYPE;
lv_var_rowtype tabela1%ROWTYPE;

Na primeira linha vimos um Attribute Anchoring, no qual definimos em tempo de execução que o data type da variável lv_var_type será igual ao da coluna1 da tabela1. Já a lv_var_rowtype será uma variável composta, um RECORD TYPE, contendo os nomes com tipos de dados da tabela1. Vejamos um exemplo real para ficar mais fácil.

Na imagem acima percebemos que a variável lv_var_type tem o tipo de dados da coluna first_name da tabela employees, que no caso é VARCHAR2. Já a variável lv_var_rowtype é uma variável composta, feita pelas colunas, juntamente com os seus respectivos tipo de dados, da tabela employees. No exemplo utilizamos apenas dois atributos, first_name e employee_id, mas poderíamos utilizar outros, como last_name e etc.

Agora algumas obesrvações. A primeira é que %ROWTYPE só irá retornar as colunas da tabela que são VISIBLE. Para pegar uma coluna invisível, terá que ser de maneira explícita, que veremos mais a frente em outro post. Outra observação é que com o uso do %ROWTYPE nunca iremos herdar as constraints, valores iniciais ou default. A última observação a se fazer é que é possível fazer um RECORD com a ajuda do %ROWTYPE parcial da tabela. Para isto devemos fazer um %ROWTYPE de um cursor que contenha uma query das colunas desejadas.

Anúncios

Meu nome é Tércio Costa, sou formado em Ciências da Computação pela UFPB, tenho a certificação Oracle SQL Expert e OCP PL/SQL, mantendo um blog reconhecido pela OTN(oraclepress.wordpress.com), no qual também publico artigos técnicos no portal OTN, no portal http://www.profissionaloracle.com.br/gpo e na revista SQL Magazine. Além de tudo isto sou um Oracle ACE Associate por estar sempre contribuindo para a comunidade com um bom nível de expertise.

Marcado com: ,
Publicado em PL/SQL

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.

Esse Blog é reconhecido pela
Certificações
Sou articulista

Clique para seguir este blog e receber notificações via email de novos posts.

Tércio Costa

Tércio Costa

Meu nome é Tércio Costa, sou formado em Ciências da Computação pela UFPB, tenho a certificação Oracle SQL Expert e OCP PL/SQL, mantendo um blog reconhecido pela OTN(oraclepress.wordpress.com), no qual também publico artigos técnicos no portal OTN, no portal http://www.profissionaloracle.com.br/gpo e na revista SQL Magazine. Além de tudo isto sou um Oracle ACE Associate por estar sempre contribuindo para a comunidade com um bom nível de expertise.

Links Pessoais

Serviços verificados

Visualizar Perfil Completo →

Total de Visualizações da Página
  • 138.077 Visualizações
%d blogueiros gostam disto: