declare
    dup_val_on_index  exception;
    pragma exception_init (dup_val_on_index  , -00001);
begin
    execute immediate 'CREATE TABLE COMISSAO (
COMISSAO_ID NUMBER(7) NOT NULL ,
COMPETENCIA VARCHAR2(7 BYTE) NULL ,
ACTIVO NUMBER(1) NULL ,
FECMODIF DATE NULL ,
DATAPAGAMENTO DATE NULL ,
INDPAGO NUMBER(1) NULL ,
PUNTOVENTA_ID NUMBER(7) NULL ,
EMPRESA_ID NUMBER(7) NULL ,
USUARIO_ID NUMBER(7) NULL ,
USUARIOPAGAMENTO_ID NUMBER(7) NULL ,
COMISSAO_BPR NUMBER(7,2) NULL ,
RECEITA_EXCESSOBAGAGEM NUMBER(7,2) NULL ,
RECEITA_SEGUROOPCIONAL NUMBER(7,2) NULL ,
DESCONTOS_FIXOS NUMBER(7,2) NULL ,
DESCONTOS_EVENTUAIS NUMBER(7,2) NULL ,
ROYATIES NUMBER(7,2) NULL ,
ISS_RETIDO NUMBER(7,2) NULL ,
BONIFICACAO_METAS NUMBER(7,2) NULL ,
ENTREGAS_PASSAGEM NUMBER(7,2) NULL ,
RECEITA_OUTROS NUMBER(7) NULL
)
';

execute immediate 'ALTER TABLE COMISSAO ADD CHECK (COMISSAO_ID IS NOT NULL)';
execute immediate 'ALTER TABLE COMISSAO ADD PRIMARY KEY (COMISSAO_ID)';
execute immediate 'ALTER TABLE COMISSAO ADD FOREIGN KEY (PUNTOVENTA_ID) REFERENCES PUNTO_VENTA (PUNTOVENTA_ID)';
execute immediate 'ALTER TABLE COMISSAO ADD FOREIGN KEY (USUARIO_ID) REFERENCES USUARIO (USUARIO_ID)';
execute immediate 'ALTER TABLE COMISSAO ADD FOREIGN KEY (USUARIOPAGAMENTO_ID) REFERENCES USUARIO (USUARIO_ID)';
execute immediate 'ALTER TABLE COMISSAO ADD FOREIGN KEY (EMPRESA_ID) REFERENCES EMPRESA (EMPRESA_ID)';
execute immediate 'CREATE SEQUENCE COMISSAO_SEQ INCREMENT BY 1 START WITH 1 NOCACHE ORDER NOCYCLE';

exception when dup_val_on_index  then null;
end;