Gdy dodaje ten wyzwalacz nie chce mi dodać użytkownika do bazy, wie ktoś co może być powodem?
create trigger user_create
before insert
on user
for each row
BEGIN
INSERT INTO user
(createDate
)
values (sysdate());
END;
Gdy dodaje ten wyzwalacz nie chce mi dodać użytkownika do bazy, wie ktoś co może być powodem?
create trigger user_create
before insert
on user
for each row
BEGIN
INSERT INTO user
(createDate
)
values (sysdate());
END;
Pewnie wyzwalacz się wywala...
Pewnie nie wiesz, co on robi...
To, co chcesz zrobić robi się za pomocą defaulta.
Pewnie, że nie wiem co on robi :)
Czyli nie ma możliwości zrobić tego wyzwalaczem?
Zdefiniuj pole w tabeli user
jako createDate TIMESTAMP not null DEFAULT CURRENT_TIMESTAMP()
Głównie chodzi mi właśnie o użycie wyzwalacza, bo chcę ogarnąć jak to działa a na necie znalazłem bardzo podobny przykład do tego co zrobiłem.
Masz może pomysł do czego go mogę użyć? Jest sens np. mieć jakąś zmienną w tabeli powiedzmy last_update i dodawać do tego aktualną datę?
W momencie kiedy masz element który może być edytowany. Np wystawiasz faktury i chcesz wiedzieć dla kogo się już przeprocesowalo a dla kogo nie. Robisz sobie tabelkę gdzie pakujesz id osoby i flagę last update, gdzie triggerem edytujesz date datę po każdym insercie w tabeli faktur. Potem sprawdzasz czy last update wskazuje odpowiednią datę.