Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
Oracle/PLSQL: sentencia CREATE TABLE AS
Este tutorial de Oracle describe cómo usar Oracle Declaración CREAR TABLA COMO Con sintaxis y ejemplos.
describir
También puede utilizar la sentencia CREATE TABLE AS de Oracle para crear una tabla a partir de una tabla existente copiando sus columnas.
Tenga en cuenta que cuando se crea una tabla de esta manera, la nueva tabla se completará con registros de la tabla existente (según la instrucción SELECT).
Crear tabla: copiando todas las columnas de otra tabla
sintaxis
La sintaxis de la declaración CREATE TABLE AS que replica todas las columnas en Oracle/PLSQL es:
CREATE TABLE new_table AS (SELECT * FROM old_table);
ejemplo
Veamos un ejemplo de CREAR TABLA COMO que muestra cómo crear una tabla copiando todas las columnas de otra tabla.
CREATE TABLE suppliers AS (SELECT * FROM companies WHERE company_id < 5000);
Este ejemplo crea una nueva tabla denominada Proveedores que incluye todas las columnas de la tabla Empresas.
Si hay registros en la tabla de empresas, la nueva tabla de proveedores se completará con los registros devueltos por la instrucción SELECT.
Crear tabla: copiando columnas seleccionadas de otra tabla
sintaxis
La sintaxis de la declaración CREATE TABLE AS para replicar columnas seleccionadas en Oracle/PLSQL es:
CREATE TABLE new_table AS (SELECT column_1, column2, ... column_n FROM old_table);
ejemplo
Veamos un ejemplo de CREAR TABLA COMO que muestra cómo crear una tabla copiando columnas seleccionadas de otra tabla.
Por ejemplo:
CREATE TABLE suppliers AS (SELECT company_id, address, city, state, zip FROM companies WHERE company_id < 5000);
Este ejemplo creará una nueva tabla denominada proveedores, pero la nueva tabla solo contendrá las columnas especificadas de la tabla de empresas (es decir, company_id, dirección, ciudad, estado y código postal).
Asimismo, si hay registros en la tabla de empresas, la nueva tabla de proveedores se completará con los registros devueltos por la instrucción SELECT.
Crear tabla: copiando columnas seleccionadas de varias tablas
sintaxis
La sintaxis de la instrucción CREATE TABLE AS para copiar columnas de varias tablas en Oracle/PLSQL es:
CREATE TABLE new_table AS (SELECT column_1, column2, ... column_n FROM old_table_1, old_table_2, ... old_table_n);
ejemplo
Veamos un ejemplo de CREAR TABLA COMO que muestra cómo crear una tabla copiando columnas seleccionadas de varias tablas.
Por ejemplo:
CREATE TABLE suppliers AS (SELECT companies.company_id, companies.address, categories.category_type FROM companies, categories WHERE companies.company_id = categories.category_id AND companies.company_id < 5000);
Este ejemplo creará una nueva tabla llamada Proveedores basada en las definiciones de columna de las tablas Compañía y Categoría (es decir: id_compañía, dirección y tipo_categoría).
Preguntas frecuentes
Pregunta: ¿Cómo puedo crear una tabla de Oracle a partir de otra tabla sin copiar ningún valor de la tabla anterior?
Respuesta: Para hacer esto, la sintaxis de Oracle CREATE TABLE es:
CREATE TABLE new_table AS (SELECT * FROM old_table WHERE 1=2);
Por ejemplo:
CREATE TABLE suppliers AS (SELECT * FROM companies WHERE 1=2);
Esto creará una nueva tabla denominada Proveedores que incluye todas las definiciones de columna de la tabla de empresas, pero no datos de la tabla de empresas.
Agradecimientos: ¡Nos gustaría agradecer a Daniel W. por esta solución!