Witam.
Jak najprościej sobie poradzić z inkrementacją przy wstawianiu i prawidłową dekremenracją przy usuwaniu krotek w Oracle 11g ?
Próbowałem z triggerami i sekwencjami, ale zaczyna mnie to doprowadzać do szewskiej pasji bo co chwilę coś nie działa.
Np przy insercie próbowałem tak :
CREATE TABLE "Encja"(
"ID" Integer NOT NULL,
"Nazwa" Varchar2(50 ) NOT NULL
)
ALTER TABLE "Encja" ADD CONSTRAINT "ID" PRIMARY KEY ("ID")
Chcę teraz zrobić autoinkrementację ID.
create sequence idEncji
start with 1
increment by 1;
create or replace trigger Encja_trigger
before insert on "Encja"
for each row
begin
:new."ID" := idEncji.nextval;
end;
Wykonuję, pojawia się tabelka Enter Binds, klikam OK ( z zaznaczonym NULL). Następnie chcę wstawić jakąś wartość :
insert into "Encja"("Nazwa") values ('Nazwa_1');
Wstawiam kilka takich wartości, pisze że jest ok, po czym wywołuję selecta dla tej encji i wywala że Napotkano Symbol "INSERT". I od tej pory nie mogę już nawet dostawić nowych krotek bo tak samo błąd.