Typen globaler Variablen

Es gibt drei verschiedene Möglichkeiten, globale Variablen zu klassifizieren: durch das Eigentumsrecht an der Variablen, durch den Geltungsbereich des Werts und durch die Methode, die zur Verwaltung des Werts verwendet wird.

Eigentumsrecht an der Variablen

Eine globale Variable kann basierend darauf klassifiziert werden, ob der Datenbankmanager Eigner der Variablen ist oder ob die Variable benutzerdefiniert ist:
  • Der Datenbankmanager erstellt integrierte globale Variablen. Integrierte globale Variablen werden beim Datenbankmanager im Systemkatalog registriert. Integrierte globale Variablen gehören zum folgenden Schema:
    • SYSIBM
    • SYSIBMADM
    Einige integrierte globale Modulvariablen befinden sich innerhalb von Modulen im Schema SYSIBMADM.
  • Ein Benutzer erstellt eine benutzerdefinierte globale Variable mithilfe einer SQL-DDL-Anweisung. Benutzerdefinierte globale Variablen werden beim Datenbankmanager im Systemkatalog registriert. Eine benutzerdefinierte globale Schemavariable wird mithilfe der SQL-Anweisung CREATE VARIABLE erstellt. Eine benutzerdefinierte globale Modulvariable wird mit der Option ADD VARIABLE oder PUBLISH VARIABLE der SQL-Anweisung ALTER MODULE erstellt.

Geltungsbereich des Werts

Eine globale Variable kann basierend auf dem Geltungsbereich des Werts als Sitzung oder Datenbank klassifiziert werden:
  • Der Wert einer globalen Sitzungsvariablen wird jeder Sitzung, die diese spezielle globale Variable verwendet, eindeutig zugeordnet. Globale Sitzungsvariablen sind entweder integrierte globale Variablen oder benutzerdefinierte globale Variablen.
  • Der Wert einer globalen Datenbankvariablen ist ein einzelner Wert, der für alle Sitzungen, die diese spezielle globale Variable verwenden, gleich bleibt. Globale Datenbankvariablen sind immer integrierte globale Variablen.

Methode, mit der der Wert verwaltet wird

Eine globale Variable kann basierend darauf klassifiziert werden, wie die Variable verwaltet wird:
  • Eine konstante globale Variable hat einen festen Wert, der basierend auf der Auswertung der Klausel CONSTANT instanziiert wird, wenn die globale Variable zuerst in der Sitzung oder in der Datenbank referenziert wird, abhängig vom Geltungsbereich der globalen Variablen. Dieser Typ von globaler Variable wird mithilfe der Klausel CONSTANT in der Anweisung CREATE VARIABLE erstellt. Der globalen Variablen kann mit einer SQL-Anweisung kein Wert zugeordnet werden. Konstante globale Variablen sind schreibgeschützte globale Variablen.
  • Eine vom System verwaltete globale Variable hat einen Wert, der vom Datenbankmanager festgelegt wird. Ein Wert kann nicht mit einer SQL-Anweisung zugeordnet werden. Nur integrierte globale Variablen können als globale Variablen definiert werden, die vom System verwaltet werden, und die meisten integrierten globalen Variablen werden als globale Variablen definiert, die vom System verwaltet werden. Globale Variablen, die vom System verwaltet werden, sind schreibgeschützte globale Variablen.
  • Einer vom Benutzer verwalteten globalen Variablen kann mithilfe einer SQL-Anweisung ein Wert zugeordnet werden. Diese Zuordnung erfordert jedoch das Zugriffsrecht WRITE für die globale Variable. Dieser Typ von globaler Variable ist der Standardwert für benutzerdefinierte globale Variablen, die ohne Verwendung einer Klausel CONSTANT definiert werden. Integrierte globale Variablen können auch so definiert werden, dass Werte mithilfe einer SQL-Anweisung zugeordnet werden können.