Agora que aprendemos os conceitos da primeira função de coleta, que é COUNT no tutorial anterior. É hora de passar para a segunda função da série de métodos de coleta. Assim aqui apresento a vocês o Método de Coleta PL/SQL EXISTS. Neste blog vamos explorar em detalhes o método de coleta EXISTS ( ).
O que é o método de coleta EXISTS ( )?
O método de coleção EXISTS ( ) verifica a existência de um elemento em um índice específico em uma coleção. Se encontrar o elemento especificado, retornará TRUE, caso contrário, retornará FALSE.
Você pode usar a função EXISTS ( ) para verificar a existência de uma linha específica na coleção.
Sintaxe do método de coleta EXISTS ( )
A sintaxe da função EXISTS ( ) é –
EXISTS (index number);
A função EXISTS pega o número do subscrito/índice de uma célula da coleção como uma entrada e a pesquisa na coleção. Se encontrar algum elemento correspondente ao número do índice, ele retornará TRUE, caso contrário, retornará FALSE.
O método de coleta EXISTS retorna NULL?
Nenhuma função EXISTS não retorna nulo. Ele retorna True ou False.
E se eu remover uma linha já existente usando a função TRIM ou DELETE?
Se você remover uma linha usando a função Trim ou Delete, o método de coleção EXISTS ( ) retornará FALSE para o índice dessa linha.
O método de coleta EXISTS gera alguma exceção?
Não, o método de coleta EXISTS não gera nenhuma exceção. Na verdade, esta é a única função que não gera nenhuma exceção, mesmo que seja usada com uma coleção não inicializada.
Se não gerar uma exceção, o que acontecerá se eu aplicar essa função a uma coleção não inicializada?
O método de coleção EXISTS ( ) retorna false, se for aplicado a uma coleção não inicializada ou a uma coleção inicializada sem elementos.
Exemplo de método de coleta EXISTS ( ).
Este exemplo simples mostrará como você pode usar essa função em seu aplicativo.
SET SERVEROUTPUT ON; DECLARE --Declare a local Nested Table TYPE my_nested_table IS TABLE OF VARCHAR2 (20); --Declare collection variable and initialize the collection. col_var_1 my_nested_table := my_nested_table('Super Man','Iron Man','Bat Man'); BEGIN IF col_var_1.EXISTS (1) THEN DBMS_OUTPUT.PUT_LINE ('Hey we found '||col_var_1 (1)); ELSE DBMS_OUTPUT.PUT_LINE ('Sorry, no data at this INDEX'); END IF; END; /
No programa acima estamos verificando se existe algum elemento no índice 1 na coleção ‘my_nested_table’ ou não. Se houver um elemento no índice especificado, a parte IF da instrução IF-ELSE será executada, caso contrário, a parte ELSE entrará na ação.
O que você fará...?
Suponha que você queira inserir um dado em um índice específico, mas não tem certeza se esse índice já contém alguns dados ou não. Caso esteja segurando algum, você não deseja sobrescrevê-lo. O que você vai fazer neste caso?
Para saber como você pode usar o método de coleta EXISTS para encontrar a solução deste problema vá em frente e assista o tutorial de PL/SQL no meu canal do YouTube.
Essa é uma demonstração muito simples. Tenho certeza de que você pode inventar alguns exemplos mais loucos. Então, o que você está esperando, vá em frente e escreva seu código e veja de que outras maneiras possíveis você pode usar esse método.
Se você quiser que eu revise seu código, você pode compartilhar seu código comigo na minha página do Facebook ou no meu Twitter também.
Você gosta deste blog? Há algo que você deseja que melhoremos? Conte-nos o que você sente em nossa página do Facebook e em nosso Twitter.
Obrigado e tenha um ótimo dia.