2009-04-20 12 views
0

In meiner Tabelle möchte ich Standard einer Spalte auf 30 Tage von jetzt an setzen. Dies muss eine echte, nicht berechnete Spalte sein. So etwas wieZeit Arithmetik in SQL TABLE DEFAULT

alter T_NAME Tabellenspalte EXPIRATION Satz Standard CURRENT_TIMESTAMP + 2592000

ist nicht gültig ändern, aber Sie bekommen die Idee. Ich bin mir sicher, dass ich das mit einem vor dem Einfügen-Trigger machen kann, aber ich habe mich nur gefragt, ob es einen Trick für die Arithmetik in der Default-Klausel gibt, von dem ich nichts weiß.

Meine DB ist Firebird 2.1.2

Antwort

1

Ich glaube nicht, dass es, da die Sprachreferenz sowohl für CREATE TABLE und für ALTER TABLE gibt:

[STANDARD {literal | NULL | USER}]

Ich denke, der Auslöser ist in der Tat Ihre einzige Option.

+0

Ja, Trigger sind dafür erforderlich. BTW, um 30 Tage hinzuzufügen, ist das richtige current_timestamp + 30 –