FirebirdSQL logo

CURRENT_TIMESTAMP

Disponible en

DSQL, PSQL, ESQL

Syntaxe
CURRENT_TIMESTAMP [(<precision>)]

<precision> ::= 0 | 1 | 2 | 3
Table 1. Contexte Paramètres de la variable CURRENT_TIMESTAMP
Paramètre Description

precision

Précision. La valeur par défaut est 3. Non supporté dans ESQL.

type de résultat de retour

TIMESTAMP WITH TIME ZONE

La variable CURRENT_TIMESTAMP renvoie la date et l’heure actuelles dans le fuseau horaire de la session, y compris les informations sur le fuseau horaire. La précision détermine le nombre de décimales en fractions de seconde à prendre en compte. La précision par défaut est de 3.

Note

Dans un bloc de code PSQL (procédure, trigger, bloc exécutable), la valeur de CURRENT_TIMESTAMP ne change pas au cours de son exécution. Lors de l’appel d’un code imbriqué, la valeur ne change pas non plus et est égale à la valeur du code de niveau supérieur. Utilisez CAST('NOW' AS TIMESTAMP) pour définir le temps réel.

Example 1. Utilisation d’une variable CURRENT_TIMESTAMP
SELECT CURRENT_TIMESTAMP(2) FROM RDB$DATABASE;
-- le résultat sera (par exemple) 02.03.2014 23:35:33.1200 Europe/Moscow

CURRENT_TRANSACTION

Disponible en

DSQL, PSQL

Syntaxe
CURRENT_TRANSACTION
type de résultat de retour

BIGINT

La variable CURRENT_TRANSACTION contient un numéro unique pour la transaction en cours.

La valeur de CURRENT_TRANSACTION est ``stockée dans la page d’en-tête de la base de données et remise à 0 lorsque la base est restaurée (ou créée). Il est incrémenté lorsqu’une nouvelle transaction est lancée.

Example 1. Utilisation d’une variable CURRENT_TRANSACTION
SELECT CURRENT_TRANSACTION FROM RDB$DATABASE;

NEW.TRANS_ID = CURRENT_TRANSACTION;