2016-10-11 1 views
-1

Ich habe zwei Tabellen A und B, beide mit Zeitstempel Feld und einer der Zeitstempel ist 4 Tage vor dem anderen.SQL Auto Trigger

zB Ein Zeitstempel ist heute B Zeitstempel heute + 4 Tage

Ist es möglich, Trigger in SQL zu erstellen, die auf der Überprüfung die Differenz des Zeitstempels automatisch halten und ein Ergebnis einmal A.timestamp werfen - B. Timestamp = 0 oder gibt es eine Möglichkeit, es zu tun.

+1

Wie haben Tabellen "einen Zeitstempel"? Tabellen haben Zeilen, also würde ich erwarten, dass es so viele Zeitstempel gibt, wie Zeilen vorhanden sind. Bitte zeigen Sie Beispieldaten, gewünschte Ergebnisse und markieren Sie Ihre Frage mit der richtigen Datenbank. –

+0

Mögliches Duplikat von [Prozedur speichern, die Zeilen, die älter als 7 Tage sind, automatisch in MYSQL löschen] (http://stackoverflow.com/questions/32507258/store-procedure-that-automatisch-delete-rows-older-than7-days -in-mysql) – Drew

+0

Abhängig von Ihrer Plattform, Events oder Jobs oder ähnlich, entfernt diese mächtige Ebene wahrscheinlich und etwas einfach die Notwendigkeit für 'cron'. Siehe [ms sql-server] (https://www.mssqltips.com/sqlservertutorial/2209/mysql-to-sql-server-scheduling-tasks-differences/) Artikel – Drew

Antwort

0

Trigger werden immer "ausgelöst", wenn Daten in irgendeiner Weise verändert werden.

Ich verstehe, dass Sie wollen, ist ein Cron stattdessen. Sie können eine gespeicherte Prozedur erstellen, die die Prüfung durchführt und das Ergebnis in eine andere Spalte einfügt. Dann können Sie diese gespeicherte Prozedur in einem Timer in Ihrer Datenbank aufrufen. Und wenn Ihre Datenbank dies nicht unterstützt. Sie können immer einen Aufgabenplan in Windows oder Cron in Linux erstellen und ein Programm aufrufen, das die gespeicherte Prozedur aufruft oder die Änderung direkt in SQL durchführt.