[IB/Delphi] W jakim formacie nalezy zapisywac date do pola TIMESTAMP

0

Mam tabelę z kilkoma polami. Jedno z nich ma typ TIMESTAMP - ma służyć do zapisywania godziny wykonania operacji.
Ustawiłem DEFAULT CURRENT_TIMESTAMP, ale nie idzie z tego skorzystać wprowadzając rekord metoda INSERT VALUES... (jak spróbuje je zostawić puste to wywala error conversing from string).

Chodzi mi, by pole zapisywało godzinę dodania rekordu no i mogę to robić na 2 sposoby.
•skorzystać z DEFAULT (tylko jak?)
•wprowadzić godzinę z poziomu aplikacji - próbowałem generować godzinę TimeToStr(Now) - to daje zapis w formacie hhss i baza wywala błąd konwersji.

0

Byłem tam, nie do końca rozumiem działanie tego trigerra. Poza tym on chyba nie sprawi, że baza przestanie wyrzucać błąd?

EDIT: insert into log values('00003','test','2011-01-17',''); - wyrzuca bład konwersji

1

Dawno nie robiłem z IB, ale:

Trigger w bazie danych

Misiekd napisał(a)
SET TERM ^ ;

CREATE TRIGGER TEST_BI FOR TEST
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
    NEW.data = CURRENT_TIMESTAMP;
END^

SET TERM ; ^

powoduje, że nie musisz sam usupełniać pola data (w powyższym przypadku) w rekordzie przy wstawianiu danych, bo zostaje ustawione na aktualny TIMESTAMP automatycznie zaraz po insercie w tabeli test.

Trigger to ogólnie taki automat, który robi coś za nas podczas wstawania, usuwania czy modyfikacji danych.

TIMESTAMP to nie data

dAb napisał(a)

TIMESTAMP - Data i czas liczony od początku epoki systemu UNIX, 1970-01-01 0000, do momentu kiedy 32-bitowe pole przechowujące liczbę sekund, jaka upłynęła od tej daty ulegnie przepełnieniu w roku 2037.

albo zatem skonwertuj datę i godzinę do formatu timestamp, albo użyj pola date

0

Znalazłem coś co rozwiało moje wątpliwości: http://book.cakephp.org/pl/view/1008/Firebird-Interbase

0
  1. Trigger załatwia sprawę
  2. typ DATE powodował taki sam wyjątek - to znaczy, że coś robisz źle.
  3. Poszukaj sobie w google pod hasłem delphi datetime to timestamp
0

Już rozwiązałem problem stosując tym TIME

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