Freigeben über


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:

APPEND FROM APPEND FROM ARRAY AVERAGE
BLANK BROWSE CALCULATE
CHANGE COPY TO ARRAY COPY TO
COUNT DEFINE PAD DELETE
DELETE - SQL DISPLAY EXPORT
FOR( ) INDEX LABEL
LIST LOCATE RECALL
REPLACE REPLACE FROM ARRAY REPORT
SCAN ... ENDSCAN SELECT - SQL SORT
SUM TABLEUPDATE( ) UPDATE - SQL

Siehe auch

TABLEUPDATE( ) | SYS( ) - Funktionen - Überblick | Stapelüberlauf (Fehler Nr. 1308) | SQL: Anweisung zu lang (Fehler Nr. 1812)