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