Skip to content

Instantly share code, notes, and snippets.

@edymerchk
Last active December 12, 2015 10:29
Show Gist options
  • Save edymerchk/4759579 to your computer and use it in GitHub Desktop.
Save edymerchk/4759579 to your computer and use it in GitHub Desktop.
SQL DDL with constraints and composite fk
CREATE TABLE TEO_USUARIOS
(
CDTIPO_DOCUMENTO VARCHAR2(2) NOT NULL
, CDNUMERO_DOCUMENTO VARCHAR2(16) NOT NULL
, DSNOMBRES VARCHAR2(50)
, DSAPELLIDOS VARCHAR2(50)
, DSCLAVE VARCHAR2(4)
, CONSTRAINT TEO_USUARIOS_PK PRIMARY KEY
(
CDTIPO_DOCUMENTO
, CDNUMERO_DOCUMENTO
)
ENABLE
);
ALTER TABLE TEO_USUARIOS
ADD CONSTRAINT CDTIPO_DOCUMENTO_TYPE CHECK
(CDTIPO_DOCUMENTO IN ('CC', 'CE', 'TI', 'PA'))
ENABLE;
CREATE TABLE TEO_EMPRESAS
(
CDTIPO_DOCUMENTO VARCHAR2(2) NOT NULL
, CDNUMERO_DOCUMENTO VARCHAR2(16) NOT NULL
, DSRAZON_SOCIAL VARCHAR2(50)
, CDTIPO_EMPRESA VARCHAR2(2)
, CDTIPO_DOCUMENTO_ADMIN VARCHAR2(2)
, CDNUMERO_DOCUMENTO_ADMIN VARCHAR2(16)
, CONSTRAINT TEO_EMPRESAS_PK PRIMARY KEY
(
CDTIPO_DOCUMENTO
, CDNUMERO_DOCUMENTO
)
ENABLE
);
ALTER TABLE TEO_EMPRESAS
ADD CONSTRAINT CDTIPO_DOCUMENTO_TYPES CHECK
(CDTIPO_DOCUMENTO IN ('NI', 'CC', 'CE', 'TI', 'PA'))
ENABLE;
ALTER TABLE TEO_EMPRESAS
ADD CONSTRAINT CDTIPO_EMPRESA CHECK
(CDTIPO_EMPRESA IN ('P', 'V', 'M', 'D'))
ENABLE;
alter table "EDY"."TEO_EMPRESAS" add constraint FK foreign key("CDTIPO_DOCUMENTO_ADMIN","CDNUMERO_DOCUMENTO_ADMIN") references "TEO_USUARIOS"("CDTIPO_DOCUMENTO","CDNUMERO_DOCUMENTO")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment