Für ein Projekt möchte ich eine "History" -Tabelle für meine Aufzeichnungen haben. Ich habe zwei Tabellen für dieses (Beispiel) System:Erstellen einer Datensatzverlaufstabelle - Wie erstelle ich einen Datensatz beim Erstellen?
RECORDS
ID
NAME
CREATE_DATE
RECORDS_HISTORY
ID
RECORDS_ID
LOG_DATE
LOG_TYPE
MESSAGE
Wenn ich einen Datensatz in RECORDS
einzufügen, wie kann ich einen zugehörigen Eintrag in RECORDS_HISTORY
automatisch erstellen, wo RECORDS_ID
an die neu eingefügten ID
in RECORDS
gleich?
Moment habe ich eine Sequenz auf den ID
in RECORDS
automatisch erhöht werden, wenn eine neue Zeile eingefügt wird, aber ich bin nicht sicher, wie ein Datensatz in RECORDS_HISTORY
vorab auszufüllen, die wie folgt für jeden neu erstellen (nicht aktualisiert) Datensatz suchen.
INSERT INTO RECORDS_HISTORY (RECORDS_ID, LOG_DATE, LOG_TYPE, MESSAGE) VALUES (<records.id>, sysdate(), 'CREATED', 'Record created')
Wie kann ich diese im Zusammenhang _HISTORY
bespielen Schöpfung schaffen?
Sie möchten einen Trigger. –
Wie @a_horse_with_no_name sagte, löst: http://stackoverflow.com/questions/13756110/trigger-that-inserts-row-into-log-table-on-insert-oder-delete-in-a-persons-table- c oder http://dba.stackexchange.com/questions/26953/trigger-to-automatisch-add-values-to-a-table-in-oracle – vercelli