FirebirdSQL logo

CURRENT_USER

Verfügbar in

DSQL, PSQL

Typ

VARCHAR(63)

Syntax
CURRENT_USER

CURRENT_USER ist eine Kontextvariable, die den Namen des aktuell verbundenen Benutzers enthält.Es ist völlig äquivalent zu [fblangref40-contextvars-user-de].

Beispiel
create trigger bi_customers for customers before insert as
begin
    New.added_by  = CURRENT_USER;
    New.purchases = 0;
end

DELETING

Verfügbar in

PSQL

Typ

BOOLEAN

Syntax
DELETING

Nur in Triggern verfügbar, DELETING zeigt an, ob der Trigger für eine DELETE-Operation ausgelöst wurde.Vorgesehen für die Verwendung in multi-action triggers-de.

Beispiel
if (deleting) then
begin
  insert into Removed_Cars (id, make, model, removed)
    values (old.id, old.make, old.model, current_timestamp);
end

docnext count = 1

GDSCODE

Verfügbar in

PSQL

Typ

INTEGER

Syntax
GDSCODE

In einem “WHEN …​ DO”-Fehlerbehandlungsblock enthält die Kontextvariable GDSCODE die numerische Darstellung des aktuellen Firebird-Fehlercodes.Vor Firebird 2.0 wurde GDSCODE nur in WHEN GDSCODE-Handlern gesetzt.Jetzt kann es auch in den Blöcken WHEN ANY, WHEN SQLCODE, WHEN SQLSTATE und WHEN EXCEPTION ungleich Null sein, vorausgesetzt, die den Fehler auslösende Bedingung entspricht einem Firebird-Fehlercode.Außerhalb von Fehlerhandlern ist GDSCODE immer 0.Außerhalb von PSQL existiert es überhaupt nicht.

Note

Nach WHEN GDSCODE müssen Sie symbolische Namen wie grant_obj_notfound usw. verwenden.Aber die Kontextvariable GDSCODE ist ein INTEGER.Wenn Sie es mit einem bestimmten Fehler vergleichen möchten, muss der Zahlenwert verwendet werden, z.335544551 für grant_obj_notfound.

Beispiel
when gdscode grant_obj_notfound, gdscode grant_fld_notfound,
   gdscode grant_nopriv, gdscode grant_nopriv_on_base
do
begin
  execute procedure log_grant_error(gdscode);
  exit;
end