Entre mysql, pl/sql, postgreql, etc. se me olvidó cómo se creaba una tabla en PL/SQL.
Para que no se me vuelva a ir

CREATE TABLE DB.NOMBRE_TABLA(--no acepta OR REPLACE
TABLA_CDG  NUMBER(15) NOT NULL, --no acepta TABLA.COLUMNA%type
OTRA_FK    NUMBER(15) NOT NULL,
TABLA_VAR  VARCHAR2(15 BYTE),
CONSTRAINT NOMBRE_PK PRIMARY KEY( TABLA_CDG), --primary key
CONSTRAINT NOMBRE_FK FOREIGN KEY(OTRA_FK) REFERENCES OTRA(OTRA_PK) --OTRA=otra tabla
);

Nótese que no admite la sintaxis

CREATE OR REPLACE

para sobrescribir las definiciones, como los procedimientos o funciones.

Así mismo, no admite definir los tipos de datos en función de columnas de otras tablas que se pueden usar en procedimientos o funciones, etc.

OTRA_FK OTRA.COLUMNA%type;
Este sitio utiliza cookies.    Leer más