Compartir a través de


SYS(3055) – Complejidad de las cláusulas FOR y WHERE

Establece el nivel de complejidad de las cláusulas FOR y WHERE en los comandos y las funciones que admiten dichas cláusulas.

SYS(3055 [, nComplexity])

Valores devueltos

Character

Parámetros

  • nComplexity
    Especifica el nivel de complejidad. El intervalo válido para nComplexity es de 320 a 2040. El valor predeterminado es 320. Si especifica un valor impar, se redondeará al próximo valor entero par más pequeño.

Observaciones

Si obtiene el error 1308 - Espacio de pila insuficiente o 1812 - SQL: la instrucción es demasiado larga, puede aumentar la complejidad de las cláusulas FOR y WHERE para intentar evitar que se produzca el error.

Por ejemplo, al llamar a la función TABLEUPDATE( ) para una tabla o vista local que no utilice campos clave, se genera una cláusula WHERE larga para buscar la fila de actualización. El número de campos predeterminado que admite una cláusula WHERE es 40. Si obtiene el error 1812 - SQL: la instrucción es demasiado larga, debe utilizar un campo clave para la actualización o bien, aumentar la complejidad de la cláusula WHERE con SYS(3055). Si usa SYS(3055), aumente su valor a 8 veces el número de campos en la tabla:

= SYS(3055, 8 * MIN(40, FCOUNT( )))

Si se ejecuta SYS(3055) sin el argumento nComplexity, la función devuelve su valor actual.

Las cláusulas FOR o WHERE admiten los comandos y las funciones siguientes:

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

Vea también

TABLEUPDATE( ) | SYS( ) Introducción a las funciones | 308 - Espacio de pila insuficiente | 1812 - SQL: la instrucción es demasiado larga