Dodawanie kolumny z datą modyfikacji danych bez triggera

0

Witam.
Na wstępie dodam że dopiero się uczę i jeśli to pytanie wydaje się banalnie proste to mimo wszystko proszę o pomoc.
Utworzyłam tabelę, do której skopiowałam dane z innej. Teraz muszę dokonać pewnych zmian i dodać kolumny z datą utworzenie i datą modyfikacji danych bez użycia triggera.
Od kilku dni próbuje znaleźć odpowiedź w internecie i nic nie znalazłam.
Będę wdzięczna za wszelką pomoc.

1

Po to jest trigger: "zdarzenie" ==> "wykonaj COŚ"
alternatywne rozwiązanie to przeniesienie problemu na klienta bazy.

A tak przy okazji jaka to baza ?

1

Czy chodzi ci, że dodałaś dwie nowe kolumny do tabeli i potrzebujesz pomocy, jak te kolumny WYPEŁNIAĆ bez pomocy triggerów ?
Jeżeli tak, to np. znajdź w kodzie, gdzie robisz insert do tej tabeli, a gdzie update, i tam jawnie wpisuj wartość (GETDATE()). W przypadku insertu wypełnij kolumnę z datą utworzenia, w przypadku updatu - datę modyfikacji

2

Data utworzenia możesz zrobić na ustawieniu aktualnej daty jako wartości domyślnej. Dane modyfikacji danych albo możesz wysłać z klienta, albo ustawić na triggerze.

0
wemibo napisał(a):

Czy chodzi ci, że dodałaś dwie nowe kolumny do tabeli i potrzebujesz pomocy, jak te kolumny WYPEŁNIAĆ bez pomocy triggerów ?
Jeżeli tak, to np. znajdź w kodzie, gdzie robisz insert do tej tabeli, a gdzie update, i tam jawnie wpisuj wartość (GETDATE()). W przypadku insertu wypełnij kolumnę z datą utworzenia, w przypadku updatu - datę modyfikacji

Poruszyłeś ciekawy (dla zawodowca) wątek. Pytanie w kategorii "program dla firmy", co ma insertować do bazy, gdy przestawiona data (obecnie przypadkowo to się już nie zdarza, wyłącznie celowo)
insert into ...values .. getdate() jest wśród kategorii "kodu na kliencie" takim, który nadal nie pozwala zafałszować danych

S4t napisał(a):

Data utworzenia możesz zrobić na ustawieniu aktualnej daty jako wartości domyślnej. Dane modyfikacji danych albo możesz wysłać z klienta, albo ustawić na triggerze.

Wartośc domyślna jest ciekawą propozycją. Czy użył bym w jako-tako profesjonalnym rozwiazaniu? Zależy, co by było celem. Czy może się dać zastąpić, czy przymusowo i bez przebłagania itd ...

1

W SQL serwer nie da się zrobić daty modyfikacji rekordu bez triggera. Mylący może być typ timestamp, który się zmienia przy każdym updacie, ale on nie ma nic wspólnego z datą (to zaszłość historyczna w nazewnictwie), i teraz ten typ to Rowversion

1 użytkowników online, w tym zalogowanych: 0, gości: 1