Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Referenzhandbuch » Verwendung von SQL » SQL-Sprachelemente » Variable

 

Lokale Variable

SQL Anywhere unterstützt lokale Variablen. Lokale Variable werden mithilfe der DECLARE-Anweisung definiert, die nur innerhalb einer zusammengesetzten Anweisung (das heißt umgeben von den Schlüsselwörtern BEGIN und END) verwendet werden kann. Für jede DECLARE-Anweisung kann in SQL Anywhere nur eine Variable deklariert werden.

Wenn das DECLARE innerhalb einer zusammengesetzten Anweisung ausgeführt wird, ist der Bereich auf die zusammengesetzte Anweisung begrenzt.

Die Variable wird anfangs auf NULL gesetzt. Der Wert der Variablen kann mithilfe der SET-Anweisung gesetzt oder mithilfe einer SELECT-Anweisung mit einer INTO-Klausel zugewiesen werden.

Dies ist die Syntax der DECLARE-Anweisung:

DECLARE variable-name data-type

Lokale Variable können als Argumente an Prozeduren übergeben werden, solange die Prozedur innerhalb der zusammengesetzten Anweisung aufgerufen wird.

Beispiele

Der nachstehende Batch veranschaulicht die Verwendung von lokalen Variablen:

BEGIN
   DECLARE local_var INT;
   SET local_var = 10;
   MESSAGE 'local_var = ', local_var TO CLIENT;
END

Wenn dieser Batch von Interactive SQL ausgeführt wird, erzeugt er die Meldung local_var = 10 im Interactive SQL-Register "Meldungen".

Die Variable local_var besteht nicht außerhalb der zusammengesetzten Anweisung, in der sie deklariert ist. Der folgende Batch ist ungültig und ergibt einen column not found-Fehler.

-- This batch is invalid.
BEGIN
   DECLARE local_var INT;
   SET local_var = 10;
END;
MESSAGE 'local_var = ', local_var TO CLIENT;

Das folgende Beispiel zeigt die Verwendung von SELECT mit einer INTO-Klausel, um den Wert einer lokalen Variablen zu setzen:

BEGIN
   DECLARE local_var INT;
   SELECT 10 INTO local_var;
   MESSAGE 'local_var = ', local_var TO CLIENT;
END

Wenn dieser Batch von Interactive SQL ausgeführt wird, erzeugt er die Meldung local_var = 10 im Meldungsfenster des Datenbankservers.

Weitere Hinweise zu Batches und lokalen Variablenbereichen finden Sie unter Variable in Transact-SQL-Prozeduren.