PL / SQL SELECT INTO (Español)

Resumen: en este tutorial, aprenderá a usar PL / SQL SELECT INTO para recuperar datos de una sola fila de una tabla en variables.

La declaración PL / SQL SELECT INTO es la forma más sencilla y rápida de recuperar una sola fila de una tabla a variables. A continuación se ilustra la sintaxis de la instrucción PL / SQL SELECT INTO:

En esta sintaxis, el número de las columnas en variable_list deben ser iguales al número de variables (o el número de componentes de un registro) en select_list. Además, su tipo de datos correspondiente debe ser compatible.

Además de la cláusula WHERE, puede usar otras cláusulas en la SELECT declaración como INNER JOIN, GROUP BY, HAVING y UNION.

Si la instrucción SELECT devuelve más de una fila, Oracle generará el TOO_MANY_ROWS excepción. Si la instrucción SELECT no devuelve ninguna fila, Oracle generará la excepción NO_DATA_FOUND.

PL / SQL SELECT INTO ejemplos

Usemos las tablas customers y contacts en la base de datos de muestra para la demostración.

A) PL / SQL SELECT INTO – seleccionando un ejemplo de columna

El siguiente ejemplo utiliza una instrucción SELECT INTO para obtener el nombre de un cliente en función de la identificación del cliente, que es la clave principal de customers tabla.

En este ejemplo:

  • Primero, declare una variable l_customer_name cuyo tipo de datos ancla a las columnas de nombre de la tabla de clientes. Esta variable contendrá el nombre del cliente.
  • En segundo lugar, use la instrucción SELECT INTO para seleccionar el valor de la columna de nombre y asignarlo al l_customer_name variable.
  • En tercer lugar, muestre el nombre del cliente mediante el dbms_output.put_line procedimiento.

Porque el customers La tabla tiene solo una fila con el ID de cliente 100, el bloque de código muestra el nombre del cliente.

Si no existía tal fila, el bloque de código fallaría con una excepción NO_DATA_FOUND no controlada.

B) PL / SQL SELECT INTO – seleccionando un ejemplo de fila completo

El siguiente ejemplo obtiene la fila completa de la tabla customers para un ID de cliente específico:

Aquí está el resultado:

En este ejemplo:

  • Primero, declare un registro basado en la fila del customers mesa. Este registro contendrá la fila completa de la customers tabla.
  • En segundo lugar, seleccione el cliente cuya identificación es 100 en la r_customer registro.
  • En tercer lugar, muestre el nombre y el sitio web del cliente.

C) PL / SQL SELECT INTO – ejemplo de selección de datos en múltiples variables

El siguiente ejemplo obtiene los nombres del cliente y el contacto de las tablas customers y contacts para un ID de cliente específico.

Oracle emitió el siguiente resultado:

En este ejemplo:

  • Primero, declare tres variables l_customer_name, l_contact_first_name, l_contact_last_name para guardar el nombre del cliente y el contacto.
  • En segundo lugar, use la declaración SELECT INTO para obtener los nombres de clientes y contactos del ID de cliente 100 de customers y contacts tablas en las variables correspondientes
  • l_customer_name, l_contact_first_name, l_contact_last_name.
  • En tercer lugar, muestre el nombres de clientes y contactos.

PL / SQL SELECT INTO errores comunes

Si el número de columnas y expresión en el SELECT cláusula es mayor que el número de variables en la cláusula INTO, Oracle emite este error:

Oracle emite el siguiente error si el número de columnas y expresión en la cláusula SELECT es menor que el número de variables en la cláusula INTO:

Si el número de variables y elementos en la lista de selección es el mismo, pero sus tipos de datos correspondientes no son compatibles, Oracle no puede convertir implícitamente de un tipo a el otro. Emitirá el siguiente error:

Ahora, debe saber cómo utilizar PL / SQL SELECT INTO declaración para obtener una sola fila de una tabla en variables.

  • ¿Fue útil este tutorial?
  • Sí No

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *