Previous Next JavaScript must be enabled to correctly display this content

## Example: Updating TTL

This example demonstrates an update of the expiration time of a row. For creating the table and inserting data, see Example: Updating Rows.

Example 7-41 Update the TTL value for a table

Let’s assume that the `People` table was created with a TTL value of 10 hours and a row with id 5 was inserted at time 2017-06-01T10:05:30.0. No explicit TTL was given at insertion time, so the expiration time computed at that time is 2017-06-01T21:00:00.0. Finally, let’s assume that the following update statement is executed at time 2017-06-01T12:35:30.0 (2.5 hours after insertion)

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

The above statement extends the life of a row by 3 hours. Specifically, the `remaining_hours` function returns the number of full hours remaining until the expiration time of the row. See remaining_hours function function. In this example, this number is 8. So, the new TTL value is 8+3 = 11, and the expiration time of the row will be set to 2017-06-02:T08:00:00.0.

Notice the use of the '$' character in naming the table alias for `People`. This is required so that the table alias acts as a row variable (a variable ranging over the rows of the table) and as a result it can be passed as the argument to the `remaining_hours` function (if the $ were not used, then calling `remaining_hours(p`) would return an error, because `p` is interpreted as a reference to a top-level table column with name "p").