20
Memory request for %d bytes exceeds the size of single page of %d bytes.
This error occurs when you exceed any of the following limits:
128 search conditions or join operations in a SQL statement.
A search condition sets the conditions in a where or having clause. For more information about, and examples of, search conditions, see the sections “Queries: Selecting Data from a Table” and “Using Aggregates, Grouping, and Sorting” in the Transact-SQL User’s Guide.
A join operation compares two or more tables or views. For more information about and examples of join operations, see the section entitled “Joins: Retrieving Data from Several Tables” in the Transact-SQL User’s Guide.
The total width of the columns in a temporary table during a union exceeds the allowed row width (on a server of 2K page size, rows consist of 1962 characters; allow 2 characters of row overhead for all-pages-locked (APL) tables, for a maximum usable row size of 1960. For data-only-locked (DOL) tables, subtract two characters per varchar column in determining usable row size).
After displaying error 702, Adaptive Server terminates the current process.
If your query exceeds the limit of 128 search conditions or join operations, rewrite the query so that the limit of 128 statements is not exceeded.
If the total width of the columns in a temporary table during a union exceeds the allowed row width, rewrite your query so that the limit (1962 bytes on a 2K page server) is not exceeded.
For example, if a table has a unique key on column <column1>, run the following query in order to delete the row in the table that contains the unique key <unique_key1>:
1> begin transaction 2> delete <table_name> 3> where <column1> = <unique_key1> 4> go
If the key is unique in the table, only one row will be deleted by the above query. If only one row is being returned by the above query, commit the transaction with the following query:
1> commit transaction 2> go
Otherwise, roll back the transaction:
1> rollback transaction 2> go
If you are not sure if the key <unique_key1> is unique in <column1>, you can check by running the following query:
1> select * from <table_name> 2> where <column1> = <unique_key1> 3> go
Similarly, if the table has a unique index on columns <column1> and <column2>, you can delete a row in that table by running the following query:
1> delete <table_name> 2> where <column1> = <unique_key1> 3> and <column2> = <unique_key2> 4> go
All versions