A table may be clustered on only one index at a time. This table is already clustered on the index whose name is shown. Before you can cluster on another index, you must execute ALTER INDEX index-name TO NOT CLUSTER. To see which tables are clustered on which indexes, query sysindexes and systables as follows:
SELECT tabname, idxname FROM systables T, sysindexes X WHERE T.tabid = X.tabid AND X.clustered =C
The table is no longer clustered on this index (if it ever was). Make sure that this is the index you meant; if so, you do not need to alter this index. For a way to see which tables are clustered, see the discussion of error -500.
While the database server was building a new copy of the table with rows in clustered sequence, it got an unexpected error. Check the accompanying ISAM error code for more information. Typical causes include a shortage of disk space.
This database server in this host operating system has a limit on the number of tables that can be locked at one time. It was unable to lock the table you requested. Roll back the current transaction. Then redesign the operation to lock fewer tables, to use row-level locking, or to open the database in exclusive mode.
This LOCK TABLE statement cannot be carried out because the table specified is really a view. Only real tables can be locked. Roll back the current transaction. Then redesign the operation to work against the real tables on which the view is based, or open the database in exclusive mode.
This UPDATE statement uses a SET clause in which a list of column names is set equal to a list of expressions or to a SELECT statement. The number of columns on the left of the equal sign is not the same as the number of data values produced on the right. Roll back the current transaction. Then rewrite this statement. If a list of expressions is used, check the punctuation to ensure that each expression is distinct. If a SELECT statement is used, review it to see how many columns it returns.
Your account has been granted the privilege of updating specific columns, but this UPDATE statement updates all columns or columns for which you do not have the privilege. Contact the owner of the table or someone with Database Administrator privilege on this database, and ask to be granted full UPDATE privilege. For a way to list table owners, see the discussion of error -313.
The cursor that is named in the WHERE CURRENT OF clause in this UPDATE or DELETE statement does not exist. Review the spelling of the name. If it is as you intended, check the DECLARE statement to ensure that it has been executed. Also make sure that the cursor has not been freed with the FREE statement.
This RENAME TABLE statement cannot be executed because the specified table is temporary. You cannot rename a temporary table. Review the spelling of the table name. If it is as you intended, drop it, and create it again under a different name.
This RENAME COLUMN statement cannot be executed because the specified table is temporary. You cannot rename a column in a temporary table. Review the spelling of the table name. If it is as you intended, drop it, and create it again with different columns.
This CREATE SYNONYM statement cannot be executed because the specified table is temporary. Review the spelling of the table name. If it is as you intended, redesign the application. Either make the table permanent, or do not use a synonym.
You are not allowed to update, insert, or delete rows in this table. If you are absolutely sure that you must do so, sign on as user informix. That user account can modify most system-catalog tables. However, this very risky practice is not recommended unless you are specifically instructed by Informix Technical Support.
You do not have References privilege on the referenced columns. The owner of the referenced table or a user who has References privilege with the grant option on that table can grant you this privilege using the GRANT statement.
You cannot do an xa_open() execution if another database is already open. Make sure that you have closed any open databases before executing xa_open().
This data definition statement specifies a table, view, index, or synonym that is owned by another user or grants a privilege as another user. Any of these things requires Database Administrator privilege, which you do not have on this database. If you intended to work on objects that you own, review the punctuation of the statement. At some point in it, you have qualified a name with the user ID of another account. Otherwise, get a DBA to grant you DBA privilege or to perform this operation for you.
You are trying to drop a constraint that has already been dropped in the same ALTER TABLE statement.
This internal error indicates a problem in the communication between the database server and the library functions that call it. Check that your program is at the same software level as the database server in use. If the error recurs, please note all circumstances and contact Informix Technical Support.
All database servers have limits on the number of columns that can be included in an index and on the total number of bytes in a key (the sum of the widths of the columns). This CREATE INDEX statement would exceed that limit for this database server. Informix Dynamic Server and INFORMIX-Universal Server allow 16 key parts (columnar or functional) and a width of 390 bytes. INFORMIX-SE supports 8 columns and a width of 126 bytes. Other Informix database servers allow 16 columns and 255 characters.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
One of the values in this UPDATE statement is based on an expression that is in error. Check each expression in the SET clause for validity. Look in particular at uses of built-in functions such as LENGTH and DATE.
The database server cannot locate the disk partition in which it has stored a table that is referenced in this command. Contact the database server administrator to find out what the problem is. Possibly the chunk that contains this tblspace has been taken off-line.
You cannot lock any of the tables that comprise the system catalog. All users need them at all times. The database server handles concurrent access to them correctly, so simply remove this statement from your program.
You used a correlation name to qualify a column name in either a GROUP BY clause or a SET clause. Consider rewriting the statement in an SPL routine that you then use as the triggered action, passing the column value as an argument. In any case, you must rewrite the statement without a using a correlation name in the GROUP BY clause or the SET clause.
This statement (RECOVER, REPAIR, or DROP) specifies a view. However, these statements are only supported for real tables, not views. In the case of DROP, if you drop any of the tables used in the view, the view will be removed as well. To recover or repair this table, you must recover or repair the tables on which the view is defined. For a way to list the names of tables that are views, see the discussion of error .
Because this database has a transaction log, a table can only be locked within a transaction. Review the program, and ensure that a BEGIN WORK statement is issued to start a transaction before this statement.
During an ALTER TABLE or SET statement, you have added or re-enabled a referential constraint that the data in the table violates. Check that the data in the referencing column (child key) exists in the referenced column (parent key).
For a DECLARE statement, the clause FOR UPDATE is not allowed in conjunction with the SCROLL keyword. For an UPDATE statement in an ANSI-compliant database (in which the FOR UPDATE clause is not required when declaring a cursor for update), the cursor named in this statement was declared with the SCROLL keyword and may not be used for updates. The way a scroll cursor is implemented makes it unsafe for updating a table, since it will sometimes not reflect the current state of the selected rows. If you want to use a scroll cursor to examine rows and then update them, you may redesign your application in the following way (among many). Use the scroll cursor to select also the ROWID of each row. Declare a second, nonscrolling cursor that selects one row for update based on its ROWID. When it is time to update a selected row:
You tried to use the SET LOCK MODE TO WAIT statement on INFORMIX-SE, but your INFORMIX-SE database server uses CREATE LOCKING rather than System V locking. If the error recurs, please note all circumstances and contact Informix Technical Support.
The database server cannot execute the SET LOCK MODE TO WAIT statement because the host operating system does not have adequate support for locking to permit waiting for a lock to be released. On this system, your program will be notified when a table or row is locked (with an error such as -233 or -378); your program determines what to do next, such as rolling back the transaction and trying it again.
The total number of bytes that this statement selects exceeds the maximum that can be passed between the database server and the program. Make sure that the columns selected are the ones that you intended. Check that you have not named some very wide character column by mistake, neglected to specify a substring, or specified too long a substring. If the selection is what you require, rewrite this SELECT statement into two or more statements, each of which selects only some of the fields. If it is a join of several tables, you might best select all desired data INTO TEMP; then select individual columns of the temporary table. If this is a fetch via a cursor in a program, you might revise the program as follows. First, change the cursor to select only the ROWID of the desired row. Second, augment the FETCH statement with a series of SELECT statements, each of which selects one or a few columns WHERE ROWID = the saved row ID.
This error message appears prior to Version 6.0. Your application program is unable to initialize its connection to the database server because you are using a shared-memory implementation. Either the database shared memory has not been initialized, or the maximum number of users has already started using the system. Check the accompanying ISAM error code for more information.
Cannot attach to transaction.
This error message appears beginning with Version 6.0. Your application program is unable to initialize its connection to the database server because you are using a shared-memory implementation. Either the database shared memory has not been initialized, or the maximum number of users has already started using the system. Check the accompanying ISAM error code for more information.
The check constraint placed on the table column(s) was violated. To see the check constraint associated with the column(s), query the syschecks system catalog table. However, you must know the constrid for the check constraint before you query syschecks. (The constrid is assigned in the sysconstraints system catalog table.) Use the following subquery to show the check constraint for constraint-name:
SELECT * FROM syschecks WHERE constrid = (SELECT constrid FROM sysconstraints WHERE constrname = constraint-name)
This CREATE VIEW statement gives a list of column names, and at least one of them appears twice in the list. Review the list of column names, and make sure that each appears only once.
The table shown is only a temporary table. It will vanish when this session ends. Such tables cannot be altered. To alter the shape of the table, simply drop it, and re-create it.
The size that is specified for a disk extent (either the EXTENT SIZE or the NEXT SIZE clause) must be at least four times the disk page size, as shown. Generally, set EXTENT SIZE large enough to hold all of the rows as you initially estimate them, and set NEXT SIZE at an eighth or a quarter of that.
Database servers at Version 4.0 and later do not return this error. In earlier versions, its meaning is the same as error -271 with ISAM error code -113. Roll back the current transaction, and run it again when the table has been unlocked.
Cannot open EXPLAIN output file.
The statement SET EXPLAIN ON has been executed, and the database server is trying to open the file sqexplain.out in the current working directory. An operating-system error of some kind prevents it. See the ISAM error code for more information. Look for operating-system error messages that might give more detail. Likely problems include a lack of write permissions in the current directory and a full disk. This error message appears beginning with Version 4.1.
This BEGIN WORK statement is redundant; a transaction is already in progress. If this is a program, review its logic to make sure it has not accidentally failed to end the previous transaction.
The number of referencing columns (child key) does not match the number of referenced columns (parent key) in the referential constraint. Check that a one-to-one relationship exists between referenced and referencing columns.
The column that is specified in a constraint definition does not exist.
The cursor that is named in this DECLARE statement has also been named in a DECLARE statement that was executed earlier. Possibly the same DECLARE is being executed in a loop, or possibly the program meant to execute a FREE statement for this cursor but did not. Review the program logic to ensure that it executes only a single DECLARE for each cursor (except after freeing one).
The pathname in the DBTEMP environment variable exceeds the limit on pathnames, which is 80 characters. You will have to locate the temporary directory higher in the directory hierarchy. Since Version 5.01, the INFORMIX-SE database server uses the DBTEMP environment variable, but Informix Dynamic Server and INFORMIX-OnLine Dynamic Server do not.
An error occurred while defining a constraint. Possibly you have defined a constraint whose name duplicates the name of another constraint, table, or index. If this is the case, repeat the statement, specifying a unique name. Otherwise, check the accompanying ISAM error code for more information.
You must have the correct privilege before you can alter the name of a table or the names, types, or number of columns in it. You must also have the correct privileges to set the object modes for constraints and triggers.
You must be the owner of the database object, have Database Administrator privilege in the database, or be granted ALTER privilege for the database object by its owner or a DBA. See the discussion of error -313 for a way to list the owners of tables and users with DBA privilege.
You name the same column more than once in the triggering column list of an update trigger. Remove the duplicate occurrence of the column name, and try again. This error also will appear if duplicate column names exist in the index list.
In the WHERE clause, a subclause ESCAPE char contains more than one character as char. Review the punctuation of the clause, and revise it so that it specifies just one character.
The statement contains a call on an aggregate function within the parameter list for another aggregate function, such as SUM(MAX(column)). This action is not supported because all aggregates are calculated over the same groups of rows. If you did not intend an expression of this sort, look for missing or misplaced parentheses. If you did intend it, rethink the query. For example, you might select the MAX values into a temporary table and then take their SUM.
Check the accompanying ISAM error code for more information. With this database server, a database is a directory with the name dbname.dbs, while tables and indexes are files within that directory. You need to have read and write access to all these files in order to exercise normal database functions.
This statement either prepares or executes a CREATE VIEW statement in which the SELECT statement refers to host variables. This action is not supported. The SELECT statement in a view can be executed from any program and cannot rely on the variables of one program. Review the CREATE VIEW statement, and make sure that it does not contain the names of any host variables, an INTO clause, or a ? placeholder.
Database servers after Version 5.01 do not use this error message.
Before you execute the ROLLFORWARD statement, make the current directory the directory that contains the dbname.dbs directory for the database. Then execute the statement again.
You cannot create a constraint or a trigger on a temporary (TEMP) table. Consider creating the temporary table as a permanent table in the database. If this option is feasible, create the table, and then create the trigger on it.
The column appears in the list of columns for a UNIQUE clause, but it is not one of the columns defined in this table. Check the spelling of all column names in this statement. If they are as you intend, then check the definition of the table. See the discussion of error -328 for a way to list all column names in a table.
Database servers after Version 5.01 do not use this error message.
The total size of all the columns listed in a UNIQUE, PRIMARY KEY, or FOREIGN KEY clause is limited. The limit depends on the database server in use, but all servers support a total of 120 bytes. The limit is the same as the restriction on the total size of all columns in a composite index. For additional information, see the CREATE TABLE statement in the Informix Guide to SQL: Syntax.
The total number of columns listed in a UNIQUE, PRIMARY KEY, or FOREIGN KEY clause is limited. The limit depends on the database server in use, but all database servers support eight columns. The limit is the same as the restriction on the number of columns in a composite index. For additional information, refer to the CREATE INDEX statement in the Informix Guide to SQL: Syntax.
This EXECUTE statement executes a prepared list of multiple statements. One or more of the host variables supplied for the ? placeholders in the list is a locator structure for a TEXT or BYTE value. This action is not allowed. Statements that refer to TEXT or BYTE variables may be prepared and executed, but they must be single statements, not part of a multistatement list.
An executable program, mkdbsdir, is used to create the initial contents of the database directory during a CREATE DATABASE statement. It is distributed with the database server and should be found in the bin subdirectory of the directory that the INFORMIXDIR environment variable names, but it was not. Check the setting of INFORMIXDIR, and then consult with the person who installed the software.
The database server that you are using does not support this statement or some clause in it. When a program starts, the database server in use is chosen based on the SQLEXEC environment variable (for database servers prior to Version 6.0). Several small differences in statement syntax exist between INFORMIX-SE and other Informix database servers. For example, INFORMIX -SE supports the IN pathname clause of the CREATE TABLE statement while other Informix database servers support the IN dbspace clause instead.
The statement text that is presented with this PREPARE statement has multiple statements divided by semicolons, and one is a SELECT, DATABASE, CREATE DATABASE, or CLOSE DATABASE statement. These statements must always be prepared as one-statement texts. Check the statement text string, and make sure that you intended multiple statements. If you did, revise the program to execute these four statement types alone.
This statement attempts to create, drop, or alter an object in an external database, one other than the current database. You can only read the contents of an external database.
If you make the external database your current database, you can modify the contents. Review all uses of names beginning with , which refers to an object in the external database .
One of the tables named in this query was in fact a synonym, and it pointed outside the current database. It named another synonym that pointed outside its database, and so on for synonyms with no real table being found. The database server has given up on the query in case an endless chain of synonyms exists.
To review the synonyms in the current database that refer to external databases, query systables and syssyntable as follows:
SELECT T.tabname synonym, servername, dbname, user, S.tabname FROM systables T, syssyntable S WHERE T.tabtype = S AND T.tabid = S.tabid AND S.btabid IS NULL
To follow a chain of synonyms through external databases, use a similar query in the external database and substitute for servername, dbname, and tabname the values that the preceding query returns each time.
SELECT T.tabname synonym, servername, dbname, user, S.tabname FROM dbname@servername:systables T, dbname@servername:syssyntable S WHERE T.tabtype = S AND T.tabname = tabname AND T.tabid = S.tabid
When this query returns no row, the requested tabname is not defined as a synonym in that database (it is a table, a view, or not defined).
This command requires the presence of an executable program named changrp, which is normally installed as part of the database server. It should be in the bin subdirectory of the directory that INFORMIXDIR environment variable names. Check the value in that variable, and then consult with the person who installed the software.
This CREATE SYNONYM statement names another synonym. Making a chain of synonyms is not supported. See the discussion of error -218 for a way to list the names of all synonyms. To have a second synonym with the same meaning as the first, find out the meaning of the other synonym. Then make a new synonym to refer to the same base table. To see the base table for a given synonym, query systables and syssyntable as follows, substituting the name of the synonym:
SELECT T.tabname synonym, S.* FROM systables T, syssyntable S WHERE T.tabname = name AND T.tabid = S.tabid
If btabid is defined in the resulting display, the synonym refers to a table in that current database with that tabid; otherwise, it refers to an external database.
Either the systables or syssyntable system catalog, or an index on one of these, has been corrupted. Run the bcheck or secheck utility. Be prepared to drop and re-create all synonyms.
This statement applies an aggregate function such as SUM to a column that has the type DATETIME. The function is not defined on this data type since arithmetic is not. Review the use of aggregate functions. You will have to revise the query.
You are running a new version of the database server, and you just opened a database for the first time with this level of the software. The database server tried to upgrade the database automatically, probably by defining an additional system-catalog table. An unexpected error occurred. Check the accompanying ISAM error code for more information. If the error recurs, please note all circumstances and contact Informix Technical Support.
Database servers after Version 5.01 do not use this error message.
You are running a new version of the database server, and you have just opened a database for the first time with this level of the software. The database server has tried to upgrade the database automatically, probably by defining an additional system catalog table. However, it needs to lock the database for exclusive use to do this conversion, and some other user has the database open. Wait a short time, and try this statement again. At that time, the database might be free (or another user’s action might have updated it).
This internal error reflects an unexpected condition during a sort. Check the accompanying ISAM error code for more information. If the error recurs, please note all circumstances and contact Informix Technical Support.
This internal error reflects an unexpected condition during a sort. Check the accompanying ISAM error code for more information. If the error recurs, please note all circumstances and contact Informix Technical Support.
This internal error reflects an unexpected condition during a sort. Check the accompanying ISAM error code for more information. If the error recurs, please note all circumstances and contact Informix Technical Support.
This internal error reflects an unexpected condition during a sort. Check the accompanying ISAM error code for more information. If the error recurs, please note all circumstances and contact Informix Technical Support.
This statement refers to a database other than the current database. However, the current database uses transaction logging, and the external one does not. This action is not supported; the databases that are used in a single transaction must all use logging or all not use it.
This statement refers to a database other than the current database. However, the current database does not use transaction logging, and the external one does. This action is not supported; the databases that are used in a single transaction must all use logging or all not use it.
This statement refers to a database other than the current database. However, the current database is not ANSI compliant, and the external one is. This action is not supported; the databases that are used in a single transaction must all be ANSI compliant, or all must not be.
This statement refers to a database other than the current database. However, the current database is ANSI compliant, and the external one is not. This action is not supported; the databases used in a single transaction must all be ANSI compliant, or all must not be.
The maximum time that you can specify as the WAIT time in SET LOCK MODE is 32,767 seconds. Review this statement, and make sure it specifies the duration in seconds that you intended. If so, either use a shorter duration, or (since 32,767 seconds is more than 9 hours) simply omit the duration to specify an indefinite wait.
This statement tries to apply BUFFERED LOG mode, but the database is ANSI compliant; that is, it was created with the clause MODE ANSI. One aspect of ANSI compliance is that all transactions are logged immediately during the execution of the COMMIT WORK statement. The use of a buffered log entails a deferred write of log records. It improves performance at some slight risk of failing to log a transaction. Such a risk is not allowed under the standard; an ANSI-compliant database must use unbuffered logging.
This statement contains a subquery (a SELECT statement within parentheses) to represent a single value (on one side of a relational operator such as equals). Such a subquery must return exactly one row and one column; otherwise, it is unclear which value the subquery represents. This subquery has returned more than one value. This error can occur if you specify the ITEM keyword in a collection subquery with more than one element in the projection list.
Review all subqueries to make sure that they can return at most one column (by listing only one expression after SELECT) and at most one row (by testing a unique key in the WHERE clause). For a collection subquery, either drop the ITEM keyword or make sure that the projection list contains only one element.
This statement contains a use of LENGTH that is applied to a column or an expression that is not a character type (not CHAR or VARCHAR). This action is not supported. Review the uses of LENGTH, and make sure they apply only to character values.
You cannot specify a constraint (either UNIQUE, PRIMARY KEY, or CHECK) name for constraints placed on temporary tables. This action is not supported for a temporary table. However, you can specify that a column receives one of these constraints, and you can specify a list of columns as having a constraint, but you may not use the CONSTRAINT constraint-name clause. Temporary tables and their indexes are not recorded in the usual system catalog tables.
You have placed a constraint (either UNIQUE, PRIMARY KEY, FOREIGN KEY, or CHECK) on a set of columns, but a constraint of the same type on those columns already exists. In the case of a FOREIGN KEY, this error only occurs if the same foreign-key set of columns references the same existing parent key set of columns. Either the constraint was established when the table was created, or it was added later. Because the constraint already exists, it is not added again.
This statement contains an owner name that qualifies the name of a table, view, index or synonym, and the owner name is longer than the maximum of 8 characters (for example, overly_long.tablename). Review the punctuation and spelling of all identifiers. Possibly an omitted space or comma causes two names to run together. To check the names of all known owners, select the owner column of the relevant system catalog: systables, sysindexes, or syssynonyms.
You do not own the synonym that is specified in this DROP SYNONYM statement. To drop an object you do not own, you must have Database Administrator privilege.
This REVOKE statement cannot be carried out. Either it revokes a database-level privilege, but you are not a Database Administrator in this database, or it revokes a table-level privilege that your account name did not grant. Review the privilege and the user names in the statement to ensure that they are correct. To summarize the table-level privileges you have granted, query systabauth as follows:
SELECT A.grantee, T.tabname FROM systabauth A, systables T WHERE A.grantor = USER AND A.tabid = T.tabid
This SET EXPLAIN statement could not be completed because the database server was unable to find the file of message templates it uses when it prepares explanatory output. Consult with the person who installed the Informix software.
This ROLLFORWARD statement could not be executed because this database does not have a transaction log. The rollforward operation uses the transaction log as its input. Since no transactions have been logged, the database cannot be rolled forward.
This statement queries a view that is based on tables in external databases (databases other than the current database). However, in one or more of those external databases, your account does not have the necessary table-level privilege on a table that the view uses, or possibly your CONNECT privilege for an external database has been revoked. For a way to display the definition of a view, see the discussion of error -385. In the view definition, look for table names that are qualified with database names and possibly site names.
This RENAME TABLE statement cannot be carried out because it would rename one of the tables that make up the system catalog. The names of these tables cannot be changed; the database server uses them.
This RENAME COLUMN statement cannot be carried out because it would rename a column of one of the tables that make up the system catalog. The database server relies on these column names for internal queries, and you cannot change them.
This database is operating in ANSI compliance (it was created or started MODE ANSI). By the rules of ANSI SQL, a cursor must always be closed before it can be reopened. Review the logic of the program. Possibly it was originally written to take advantage of one of the Informix extensions to SQL: if a cursor is reopened, it is automatically closed and opened. In the current database, that action is not allowed.
Version 4.0 and later do not use this message. For previous versions, check the accompanying ISAM error code for more information.
Database servers starting with Version 4.1 detect this internal error. If the error recurs, please note all circumstances and contact Informix Technical Support.
This database server supports only single-site update. The operations within one transaction can modify data at only one site in the network. Some preceding statement within this transaction has already modified data at one site; the current statement would modify data at a second site. The statement is not executed. Roll back the current transaction. Examine the application in the light of this restriction. Check the names of all tables that UPDATE, INSERT, and DELETE statements affect to make sure they are all in the same database or in databases that the same database server holds. (Check the definition of any synonyms. Synonyms can make tables in external databases appear to be in the current database.)
Database servers after Version 5.01 do not use this error message.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
Procedure cache corrupted.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
The specified default value is the wrong type or is too long for a column or an SPL-routine variable.
To specify a valid default value for a column, use the DEFAULT clause in a CREATE TABLE statement. To specify a valid default value for a variable in an SPL routine, use the DEFAULT clause in a DEFINE statement.
This CREATE or ALTER TABLE statement specifies that a column may not contain nulls (the NOT NULL clause), but it also has a DEFAULT clause giving the default value for new rows as NULL. This contradiction is not allowed.
This CREATE or ALTER TABLE statement specifies that a column has a SERIAL data type, but it also has a DEFAULT clause for the column. The database server generates values for a SERIAL column each time a row is created, so the DEFAULT clause is meaningless.
This CREATE or ALTER TABLE statement specifies that a column has a data type of BYTE or TEXT. It also has a DEFAULT clause for the column that specifies something other than NULL. You can only designate the default value NULL for columns of TEXT or BYTE data type.
An aggregate function was used outside an SQL statement inside an SPL routine expression, or it was used inside a check constraint.
An example of the error follows:
LET var = MAX(another_var) + 10;
error
An SPL routine expression, or the expression in a check constraint, can refer to only a single value, so the use of an aggregate function is meaningless.
The SPL routine EXIT and CONTINUE statements must be placed within a FOREACH, WHILE, or FOR loop.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
Inside an SPL routine, a nonexistent cursor name was specified in an UPDATE/DELETE…WHERE CURRENT OF statement.
FOREACH cur1 FOR SELECT col INTO var FROM tab UPDATE tab SET col = proc(var) WHERE CURRENT OF bad_cur_name; — error END FOREACH
Syntax specific to Informix Dynamic Server and to the INFORMIX-SE database server was mixed in the same statement. Use the appropriate syntax for your database server.
Cannot mix Dynamic Server or INFORMIX-OnLine syntax with INFORMIX-SE syntax.
Syntax specific to Informix Dynamic Server or INFORMIX-OnLine Dynamic Server and to the INFORMIX-SE database server was mixed in the same statement. Use the appropriate syntax for your database server.