Ya sé porqué, mira :
Código SQL:
Ver originalSQL> CREATE TABLE jc
2 ( a NUMBER PRIMARY KEY,
3 b NUMBER,
4 c NUMBER);
Tabla creada.
SQL> CREATE TABLE jc2 AS SELECT * FROM jc WHERE 1=0;
Tabla creada.
SQL> DESC jc
Name NULL? TYPE
------------------------------- -------- ----
A NOT NULL NUMBER
B NUMBER
C NUMBER
SQL> DESC jc2
Name NULL? TYPE
------------------------------- -------- ----
A NUMBER
B NUMBER
C NUMBER
SQL>
Comparalo con lo que puse yo :
Código SQL:
Ver originalSQL> CREATE TABLE jc
2 ( a NUMBER NOT NULL PRIMARY KEY, --<----
3 b NUMBER,
4 c NUMBER);
Tabla creada.
SQL> CREATE TABLE jc2 AS SELECT * FROM jc WHERE 1=0;
Tabla creada.
SQL> DESC jc
Name NULL? TYPE
------------------------------- -------- ----
A NOT NULL NUMBER
B NUMBER
C NUMBER
SQL> DESC jc2
Name NULL? TYPE
------------------------------- -------- ----
A NOT NULL NUMBER
B NUMBER
C NUMBER
SQL>
¿ ves la diferencia ?