En PostgreSQL, una tabla temporal puede tener el mismo nombre que una tabla permanente, aunque no es recomendable. Cuando el usuario crea una tabla temporal con el mismo nombre que una tabla permanente, no puede acceder a la tabla permanente hasta que se elimine la tabla temporal.
Ejemplo:
Primero, cree una tabla llamada customers
:
CREATE TABLE customers(id SERIAL PRIMARY KEY, name VARCHAR NOT NULL);
En segundo lugar, cree una tabla temporal con el mismo nombre: customers
:
CREATE TEMP TABLE customers(customer_id INT);
Ahora consulte los datos de la tabla de clientes de la siguiente manera:
SELECT * FROM customers;
Salida:
en esta etapa, PostgreSQL accedió a la tabla temporal de clientes en lugar de a la permanente. De ahora en adelante, solo podrá acceder a la tabla permanente customers
en la sesión actual cuando la tabla temporal customers
se elimine específicamente. Si enumera las tablas en la test
base de datos, solo verá los clientes de la tabla temporal, no los permanentes a continuación:
Nota: PostgreSQL crea tablas temporales en un esquema especial, por lo tanto, no debe especificar el esquema en la instrucción CREATE TEMP TABLE.
Ahora, si enumera las tablas con el siguiente comando:
\dt
El resultado es el que se muestra a continuación:
El resultado muestra que el esquema de la customers
tabla temporal es pg_temp_3
.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA