SYS(3055) – Komplexität von FOR- und WHERE-Klauseln
Legt die Komplexitätsebene der FOR- und WHERE-Klauseln in Befehlen und Funktionen fest, die diese Klauseln unterstützen.
SYS(3055 [, nComplexity])
Rückgabewerte
Zeichen
Parameter
- nComplexity
Gibt die Komplexitätsebene an. Der Gültigkeitsbereich für nComplexity liegt zwischen 320 und 2040. Der Standardwert beträgt 320. Wenn Sie einen ungeraden Wert angeben, wird dieser auf die nächstgelegene gerade Ganzzahl abgerundet.
Hinweise
Wenn die Fehlermeldung 1308 - Stapelüberlauf oder 1812 - SQL: Anweisung zu lang ausgegeben wird, können Sie die Komplexität der FOR- und WHERE-Klauseln erhöhen, um das erneute Anzeigen dieser Fehlermeldungen zu verhindern.
Beispielsweise erzeugt der Aufruf von TABLEUPDATE( ) für eine lokale Tabelle oder Ansicht, in der keine Schlüsselfelder verwendet werden, eine lange WHERE-Klausel zum Suchen der aktualisierten Zeile. In der WHERE-Klausel werden standardmäßig 40 Felder unterstützt. Wenn Sie die Fehlermeldung "1812 - SQL: Anweisung zu lang" erhalten, sollten Sie entweder ein Schlüsselfeld verwenden oder die Komplexität der WHERE-Klausel mit SYS(3055) erhöhen. Bei Verwendung von SYS(3055) erhöhen Sie den Wert auf die achtfache Anzahl der in der Tabelle enthaltenen Felder:
= SYS(3055, 8 * MIN(40, FCOUNT( )))
Wenn SYS(3055) ohne das Argument nComplexity ausgeführt wird, wird die aktuelle Einstellung zurückgegeben.
Die folgenden Befehle und Funktionen unterstützen die FOR- und WHERE-Klauseln:
Siehe auch
TABLEUPDATE( ) | SYS( ) - Funktionen - Überblick | Stapelüberlauf (Fehler Nr. 1308) | SQL: Anweisung zu lang (Fehler Nr. 1812)