En PostgreSQL , la declaración SELECT INTO permite a los usuarios crear una nueva tabla e insertar datos devueltos por una consulta. Las nuevas columnas de la tabla tienen nombres y tipos de datos vinculados con las columnas de salida de la cláusula SELECT . A diferencia de la instrucción SELECT, la instrucción SELECT INTO no devuelve datos al cliente.
Syntax: SELECT column_list INTO [ TEMPORARY | TEMP | UNLOGGED ] [ TABLE ] new_table_name FROM table_name WHERE condition;
En el proceso de creación de una nueva tabla con la estructura y los datos derivados del conjunto de resultados de una consulta, se debe especificar el nombre de la nueva tabla en la cláusula INTO. La palabra clave TEMP o TEMPORARY es opcional; permite a los usuarios crear una tabla temporal en su lugar.
La cláusula WHERE permite a los usuarios especificar los datos de las tablas originales que deben insertarse en la nueva tabla. Además de la cláusula WHERE, se pueden usar otras cláusulas en la instrucción SELECT para la instrucción SELECT INTO, como INNER JOIN , LEFT JOIN , GROUP BY y HAVING .
Ahora veamos algunos ejemplos. Para ejemplos, usaremos la base de datos de muestra (es decir, dvdrental ).
Ejemplo 1:
En este ejemplo, usaremos la film
tabla de la dvdrental
base de datos para crear una nueva tabla con el nombre film_r
que contenga todas las películas con calificación R
y una duración de alquiler de 5 días usando la siguiente declaración:
SELECT film_id, title, rental_rate INTO TABLE film_r FROM film WHERE rating = 'R' AND rental_duration = 5 ORDER BY title;
Ahora podemos verificar la tabla creada usando la siguiente declaración:
SELECT * FROM film_r;
Producción:
Ejemplo 2:
en este ejemplo, creamos una tabla temporal con el nombre short_film
que tiene todas las películas cuya duración es inferior a 60 minutos usando la siguiente declaración:
SELECT film_id, title, length INTO TEMP TABLE short_film FROM film WHERE length < 60 ORDER BY title;
Ahora verificamos la tabla short_film usando la siguiente declaración:
SELECT * FROM short_film;
Producción:
Nota: No se puede usar la declaración SELECT INTO en PL/pgSQL o ECPG porque interpretan la cláusula INTO de manera diferente. En este caso, puede usar la declaración CREATE TABLE AS que proporciona más funciones que la declaración SELECT INTO.
Publicación traducida automáticamente
Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA