例: TTLの更新

この例では、行の有効期限の更新を示します。10時間のTTL値を指定してPeople表が作成され、2017-06-01T10:05:30.0にid 5の行が挿入されたとします。挿入時に明示的なTTLが指定されなかったため、そのときに計算された有効期限は2017-06-01T21:00:00.0です。最後に、次の更新文が2017-06-01T12:35:30.0 (挿入後2.5時間)に実行されるとします

UPDATE People $p
SET TTL remaining_hours($p) + 3 hours
WHERE id = 5;

上の文は、行の存続期間を3時間延長します。具体的には、remaining_hours関数は、行の有効期限までの残り時間数を返します。integer remaining_hours(AnyRecord)関数を参照してください。この例では、この数値は8です。したがって、新しいTTL値は8 +3 = 11で、行の有効期限は2017-06-02:T08:00:00.0に設定されます。

Peopleの表の別名に名前を付ける際に、$文字が使用されていることに注意してください。これは、表の別名が行変数(表の行全体にわたる変数)として機能し、その結果remaining_hours関数に引数として渡すことができるようにするために必要です($が使用されなかった場合、remaining_hours(p)をコールするとエラーが返されます。これは、pが名前pの最上位レベルの表列への参照として解釈されるためです)。