Temporary LOB

LOBs temporários é uma maneira de de se trabalhar com LOBs em que não há necessidade de armazenar dados indefinitivamente, apenas o máximo que durar a sessão, em um block PL/SQL. Esse tipo de LOB é criado a partir da package DBMS_LOB e esse tipo de objeto reside na tablespace temporária. Como esse objeto não faz parte de nenhuma transaction, a sua performance é bem melhor. A maneira de se trabalhar é bem parecida com internal LOB que já é conhecido, mas não se pode inicializar com o método empty_clob ou empty_blob.

Veja um exemplo de uso mais abaixo.


DECLARE

--VARIAVEL DE TESTE
v_clob CLOB;
v_texto VARCHAR2(25) := 'ORACLEPRESS, TERCIO COSTA';

BEGIN

--CRIANDO CLOB TEMPORARIO
DBMS_LOB.CREATETEMPORARY(v_clob,TRUE,DBMS_LOB.SESSION);

--ABRINDO O LOB PARA OPERACOES
DBMS_LOB.OPEN(v_clob, DBMS_LOB.LOB_READWRITE);

--ESCREVENDO NO LOB
DBMS_LOB.WRITE(v_clob,LENGTH(v_texto),1,v_texto);

--VERIFICANDO O CONTEUDO
DBMS_OUTPUT.PUT_LINE('Tamanho do CLOB: '||DBMS_LOB.GETLENGTH(v_clob)||', conteudo: '||DBMS_LOB.SUBSTR(v_clob));

--VERIFICANDO SE O LOB EH TEMPORARIO
IF(DBMS_LOB.ISTEMPORARY(v_clob) = 1) THEN
DBMS_OUTPUT.PUT_LINE('EXEMPLO DE VERIFICACAO DE VARIAVEL LOB TEMPORARIA');
END IF;

--FECHANDO O LOB
DBMS_LOB.CLOSE(v_clob);
--LIBERANDO OS RECURSOS DO LOB
dbms_lob.freetemporary(v_clob);

END;

No código acima foi realizado alguns testes em um LOB  sem a necessidade de criar tabelas e armazenar os lobs em disco, tudo isto utilizando apenas um lob temporário. Nas linhas 4 e 5 foram criadas nossa variáveis locais, uma que será o nosso LOB Locator e a outra o conteúdo que será inserido. Na linha 10 foi criado o lob temporário com o locator da variável anterior, o segundo argumento é se o lob será colocado no buffer cache ou não, e o terceiro e último parâmetro e a duração do lob que esta sendo criado. Temos algumas opções aqui: SESSION ou CALL.

Logo após na linha 13 o LOB é aberto em modo READ WRITE. Na linha 16 o conteúdo da variável v_texto é escrito no LOB. Os argumentos da procedure WRITE na ordem que esta no exemplo é: locator, tamanho do que será escrito, a partir da onde será escrito e o que será escrito. Na linha 19 o conteúdo e o tamanho do LOB é retornado na tela e para finalizar logo após, o lob é fechado e os recursos liberados.

 

Anúncios

Meu nome é Tércio Costa, sou formado em Ciências da Computação pela UFPB, tenho a certificação Oracle SQL Expert, 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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Esse Blog é reconhecido pela
Certificações
Sou articulista
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, 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
  • 96.671 Visualizações
%d blogueiros gostam disto: