Copia de estructura de tabla, mediante "CREATE TABLE"
Publicado por Salami (2 intervenciones) el 29/11/2012 12:14:18
Buenos días a todos:
Mi pregunta es la siguiente. Tenía entendido que mediante CREATE TABLE es posible copiar la estructura de una tabla en otra distinta. La sentencia sería:
[sql]CREATE TABLE copia AS (
SELECT *
FROM JOBS
WHERE 1 = 0) ;[/sql]
Sin embargo, puedo comprobar que la copia generada no es exactamente igual. Tras un describe de cada tabla, se aprecia que la columna JOB_ID puede ser nula, cuando es la clave primaria d ela tabla:
[sql]describe copia
Nombre Nulo Tipo
---------- -------- ------------
JOB_ID VARCHAR2(10)
JOB_TITLE NOT NULL VARCHAR2(35)
MIN_SALARY NUMBER(6)
MAX_SALARY NUMBER(6)
describe jobs
Nombre Nulo Tipo
---------- -------- ------------
JOB_ID NOT NULL VARCHAR2(10)
JOB_TITLE NOT NULL VARCHAR2(35)
MIN_SALARY NUMBER(6)
MAX_SALARY NUMBER(6) [/sql]
¿Estoy haciendo algo mal? ¿O es que este método copia toda la estructura excepto la primary key?
Cualquier respuesta es bien recibida. Muchas gracias de antemano.
Mi pregunta es la siguiente. Tenía entendido que mediante CREATE TABLE es posible copiar la estructura de una tabla en otra distinta. La sentencia sería:
[sql]CREATE TABLE copia AS (
SELECT *
FROM JOBS
WHERE 1 = 0) ;[/sql]
Sin embargo, puedo comprobar que la copia generada no es exactamente igual. Tras un describe de cada tabla, se aprecia que la columna JOB_ID puede ser nula, cuando es la clave primaria d ela tabla:
[sql]describe copia
Nombre Nulo Tipo
---------- -------- ------------
JOB_ID VARCHAR2(10)
JOB_TITLE NOT NULL VARCHAR2(35)
MIN_SALARY NUMBER(6)
MAX_SALARY NUMBER(6)
describe jobs
Nombre Nulo Tipo
---------- -------- ------------
JOB_ID NOT NULL VARCHAR2(10)
JOB_TITLE NOT NULL VARCHAR2(35)
MIN_SALARY NUMBER(6)
MAX_SALARY NUMBER(6) [/sql]
¿Estoy haciendo algo mal? ¿O es que este método copia toda la estructura excepto la primary key?
Cualquier respuesta es bien recibida. Muchas gracias de antemano.
Valora esta pregunta


0