Vendas

Assistencia Técnica

Auto increment no Oracle 11

Primeiro é necessário uma sequence

CREATE SEQUENCE VENDA_SYSTEC.SEQ_PEDIDO_ID INCREMENT BY 1 MINVALUE 0 MAXVALUE 999999999999999999999999999 NOCYCLE NOCACHE NOORDER 

Depois use uma trigger, que verifica se o valor está null, e puxa o proximo valor da sequence

CREATE OR REPLACE TRIGGER  WEB_SYSTEC.AUTO_INCRT_WEB_ADM_PED_ITEM
  before insert on WEB_SYSTEC.USUARIO_WEB_ADM_PEDIDO_ITEM              
  for each row  
begin   
  if :NEW.ID is null then 
    select WEB_SYSTEC.SEQ_USUARIO_WEB_ADM_PED_ITE_ID.nextval into :NEW.ID from dual; 
  end if; 
end; 

No oracle 12 em diante já tem o identity, onde não precisa mais deste workaround

× WhatsApp