2010-01-09 13 views
15

Ich habe eine Tabelle in Oracle XE erstellt, und ich habe ein Feld mit Typ Datum. Ich möchte wenn möglich beim Einfügen einer Zeile, dass dieses Feld automatisch mit dem aktuellen Datum aus dem System gefüllt wird.Datum automatisch in Orakel Tabelle

Ich füge die Zeilen von der SQL-Eingabeaufforderung ein.

Dank

Antwort

24

Hier ist, wie Sie Ihren Tisch richtig formatiert werden müssen:

create table test (first number 
        , second timestamp default systimestamp 
        , third varchar2(12)); 

Und Ihre Standardwert ist immer die aktuelle Systemzeit als Zeitstempel formatiert.

+0

große Antwort. ty – Adnan

+3

Wenn die Spalte den Datentyp 'timestamp' hat, warum nicht standardmäßig 'systimestamp' anstatt 'sysdate'? – APC

+0

Was ist der Unterschied? Ich benutze sysdate, wenn du erklären kannst, dass es auch für mich großartig wäre, wenn Andan die Frage – ant

3

ändern, nachdem das Feld

ALTER TABLE table MODIFY time_collumn TIMESTAMP DEFAULT CURRENT_TIMESTAMP; 
1

Erstellen der Tabelle Oder Sie könnten auch einen Trigger verwenden:

CREATE OR REPLACE TRIGGER date_trigger 

BEFORE INSERT 

ON table_name 

REFERENCING NEW AS NEW 

FOR EACH ROW 

BEGIN 

SELECT sysdate INTO :NEW.column_name FROM dual; 

END; 
+0

Dies funktioniert besser, wenn Sie sicherstellen müssen, dass der Zeitstempel niemals manuell eingegeben wird. Obwohl dieser Fall selten sein mag. –

Verwandte Themen