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 all_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 lacustomers
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 decustomers
ycontacts
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