Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Pragmas und Annotationen

Pragmas und Annotationen sind spezielle SQL-Kommentare, die von SESAM/SQL interpretiert werden. Mit ihnen können Sie Hinweise für die Ausführung von SQL- oder UtilityAnweisungen geben. Pragmas oder Annotationen mit syntaktischen Fehlern werden als Kommentar behandelt und von SESAM/SQL ignoriert.

Ein Pragma kann nur am Anfang einer SQL- oder Utility-Anweisung stehen. Davor dürfen nur Kommentare (einschliesslich weiterer Pragmas) und Trenner stehen. Pragmas wirken sich auf die gesamte Anweisung aus, einschliesslich der verwendeten Views. Das Pragma PREFETCH wirkt sich sogar auf alle Operationen mit einem Cursor aus.

Eine Annotation kann nur an gewissen Positionen im Text einer Anweisung stehen. Sie wirkt sich, abhängig von ihrer Position, nur auf eine bestimmte Operation in der Anweisung aus. An jeder dieser Positionen kann immer nur eine Annotation stehen. Eine Anweisung kann aber mehrere Annotationen enthalten, ebenso wie die verwendeten Views.

Pragmas und Annotationen wirken nur bei bestimmten Anweisungen, sonst werden sie ignoriert. Zur Verwendung von Pragmas in Routinen siehe Abschnitt „Pragmas in Routinen" .

Pragmas und Annotationen dienen unterschiedlichen Zwecken. Sie sind in unterschiedlichen Handbüchern von SESAM/SQL beschrieben, siehe die Tabellen auf den folgenden Seiten.

Format


pragma ::= --%PRAGMA pragma_text ,... zeilenende

annotation ::= /*% annotation_text %*/



pragma_text

Eine Folge von Schlüsselwörtern, Literalen und Namen.
Die Folge darf Leerzeichen enthalten, aber keine anderen Trenner.

Die Formate für pragma_text und ihre Wirkung sind an folgenden Stellen beschrieben:

pragma_text beginnt mit

Bedeutung

Beschreibung siehe

AUTONOMOUS
TRANSACTION

Daten unabhängig von der
umgebenden Transaktion schreiben

"Pragma AUTONOMOUS TRANSACTION"

CHECK

Integritätsbedingungen beachten

Handbuch „ SQL-Sprachbeschreibung Teil 2: Utilities

DATA TYPE

alte CALL-DML-Typen verwenden

"Pragma DATA TYPE"

DEBUG ROUTINE

Fehlerinformationen für Routinen
erhalten

"Pragma DEBUG ROUTINE"

DEBUG VALUE

Informationen für Zuweisungen in
Routinen erhalten

"Pragma DEBUG VALUE"

EXPLAIN

Zugriffsplan ausgeben

"Pragma EXPLAIN"

IGNORE

Index ignorieren

Handbuch „ Performance

ISOLATION LEVEL

Isolationslevel festlegen

"Pragma ISOLATION LEVEL"

JOIN

Join-Methode wählen

Handbuch „ Performance

KEEP JOIN ORDER

Join-Reihenfolge beibehalten

Handbuch „ Performance

LIMIT

ABORT_EXECUTION

Betriebsmittelverbrauch limitieren

"Pragma LIMIT ABORT_EXECUTION"

LOCK MODE

Sperrmodus einstellen

"Pragma LOCK MODE"

LOOP LIMIT

Anzahl Schleifendurchläufe
begrenzen

"Pragma LOOP LIMIT"

OPTIMIZATION

Zugriffsplanung einschränken

Handbuch „ Performance

PREFETCH

Schubmodus steuern

"Pragma PREFETCH"

SIMPLIFICATION

Optimierungstechniken steuern

Handbuch „ Performance

USE

Index nutzen

Handbuch „ Performance

UTILITY MODE

Transaktionssicherung steuern

"Pragma UTILITY MODE"

Tabelle 8: Pragmas

Wenn Sie in einer Anweisung mehrere Pragmas angeben, die mit dem gleichen Schlüsselwort beginnen, dann wird nur die letzte Angabe verwendet. Die Pragmas IGNORE und USE werden aber alle, unabhängig von ihrer Reihenfolge, nach speziellen Regeln interpretiert.


zeilenende 

Zeilenwechsel im SQL-Quelltext.
Wenn der SQL-Text in einer Anweisung PREPARE oder EXECUTE IMMEDIATE als Zeichenkette angegeben wird, dann stellt darin das alphanumerische Zeichen X'15' einen Zeilenwechsel dar.


annotation_text

Eine Folge von Schlüsselwörtern.
Die Folge darf Leerzeichen und Zeilenwechsel enthalten, aber keine Kommentare.

Eine Annotation muss auf ein Schlüsselwort folgen. Dazwischen dürfen nur Leerzeichen und Zeilenwechsel stehen, aber keine Kommentare. Das vorangehende Schlüsselwort bestimmt das erlaubte Format von annotation_text und die Wirkung der Annotation. Eine Annotation, die nicht diesen Regeln folgt, wird als Kommentar betrachtet und ignoriert.

Die Formate für annotation_text und ihre Wirkung sind an folgenden Stellen beschrieben::

Annotation hinter Schlüsselwort

Bedeutung

Beschreibung siehe

JOIN

Join-Algorithmus wählen

Handbuch „ Performance

CACHE

CSV-Datei in temporärer
Datei zwischenspeichern

Handbuch „ Performance

VOLATILE

Funktionswert stets neu
berechnen

"Unkorrelierte Funktionsaufrufe"

IMMUTABLE

Funktionswert in unkorrelierten
Funktionsaufrufen
nicht neu berechnen

"Unkorrelierte Funktionsaufrufe"

Tabelle 9: Annotationen


Wenn sich ein Pragma und eine Annotation auf eine Operation in einer Anweisung unterschiedlich auswirken würden (z.B. eine unterschiedliche Wahl des Join-Algorithmus), dann hat normalerweise die Annotation Vorrang. Die Einzelheiten sind in der Beschreibung der Annotation enthalten.