Oracle - Copia de estructura de tabla, mediante "CREATE TABLE"

   
Vista:

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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Copia de estructura de tabla, mediante "CREATE TABLE"

Publicado por juan gaete juan.gaete@oracle.com (13 intervenciones) el 21/12/2012 13:10:43
esta correcto...

la copia de tablas de esa forma NO COPIA LAS CONSTRAINT (restricciones) como primary key o foreign key... en ese caso tienes que crearla tu y lo mejor es que cuando le creas la restriccion de PK automaticamente la columna queda como NOT NULL
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar