sql >> Base de Datos >  >> RDS >> Oracle

Método de recopilación:función EXISTS en Oracle Database

Ahora que hemos aprendido los conceptos de la función de primera colección, que es CONTAR en el tutorial anterior. Es hora de pasar a la segunda función de la serie de métodos de recopilación. Por lo tanto, aquí les presento el método de recopilación PL/SQL EXISTS. En este blog exploraremos el método de recopilación EXISTS ( ) en detalle.

¿Qué es el Método de recopilación EXISTE ( )?

El método de colección EXISTS ( ) comprueba la existencia de un elemento en un índice específico de una colección. Si encuentra el elemento especificado, devuelve VERDADERO; de lo contrario, devuelve FALSO.

Puede usar la función EXISTS ( ) para verificar la existencia de una fila específica dentro de la colección.

Sintaxis del método de recopilación EXISTE ( )

La sintaxis de la función EXISTE ( ) es –

EXISTS (index number);

La función EXISTS toma el número de subíndice/índice de una celda de la colección como Entrada y lo busca en la colección. Si encuentra algún elemento correspondiente al número de índice, devuelve VERDADERO; de lo contrario, devuelve FALSO.

¿El método de recopilación EXISTS devuelve NULL?

Ninguna función EXISTE no devuelve nulo. Devuelve Verdadero o Falso.

¿Qué pasa si elimino una fila que ya existe usando la función RECORTAR o ELIMINAR?

Si elimina una fila con la función Recortar o Eliminar, el método de recopilación EXISTE ( ) devolverá FALSO para el índice de esa fila.

¿El método de recopilación EXISTE genera alguna excepción?

No, el método de recopilación EXISTS no genera ninguna excepción. De hecho, esta es la única función que no genera ninguna excepción, incluso si se usa con una colección no inicializada.

Si no genera una excepción, ¿qué sucederá si apliqué esta función a una colección no inicializada?

El método de colección EXISTS ( ) devuelve falso, si se aplica a una colección no inicializada o a una colección inicializada sin elementos.

Ejemplo de método de recopilación EXISTE ( ).

Este sencillo ejemplo le mostrará cómo puede utilizar esta función en su aplicación.

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;
/  

En el programa anterior, estamos comprobando si hay algún elemento en el índice 1 en la colección 'my_nested_table' o no. Si hay un elemento en el índice especificado, la parte IF de la declaración IF-ELSE se ejecutará; de lo contrario, la parte ELSE entrará en acción.

¿Qué vas a hacer...?

Suponga que desea insertar datos en un índice específico, pero no está seguro de si ese índice ya contiene algunos datos o no. En caso de que tenga alguno, entonces no desea sobrescribirlo. ¿Qué harás en este caso?

Para saber cómo puede usar el método de recopilación EXISTS para encontrar la solución a este problema, siga adelante y vea el tutorial de PL/SQL en mi canal de YouTube.

Esa es una demostración muy simple. Estoy seguro de que puedes encontrar algunos ejemplos más locos. Entonces, ¿qué estás esperando? Adelante, escribe tu código y mira de qué otras formas posibles puedes usar este método.

Si desea que revise su código, puede compartirlo conmigo en mi página de Facebook o también en mi Twitter.

¿Qué te parece este blog? ¿Hay algo que quieras que mejoremos? Cuéntanos lo que sientes en nuestra página de Facebook y en nuestro Twitter.

Gracias y que tengas un gran día.