大树

 

01700-01799 SQL Parsing Messages .

This section lists messages generated when SQL statements are parsed by the Oracle Server. Most, but not all, messages in this section indicate incorrect SQL syntax. For more information about SQL syntax, refer to Oracle8 Server SQL Reference.

ORA-01700: duplicate username in list
Cause: A username was listed twice in a GRANT or REVOKE statement. Usernames must be unique and may only be specified once in a GRANT or REVOKE statement.

Action: Remove the duplicate username and retry the statement.

ORA-01701: a cluster is not appropriate here
Cause: The name of a cluster was specified in a statement in which clusters are not permitted.

Action: Enter a valid CLUSTER statement or change the cluster name to the name of a valid object for the statement, such as table, view, index, or synonym.

ORA-01702: a view is not appropriate here
Cause: The name of a view was specified in a statement in which views are not permitted.

Action: Enter the name of a valid object for the statement, such as table, cluster, synonym, or index.

ORA-01703: missing SYNONYM keyword
Cause: The keyword SYNONYM is required in this context.

Action: Check the statement syntax and insert the keyword SYNONYM.

ORA-01704: string literal too long
Cause: A quoted string specified as a constant was too long.

Action: Quoted strings may not contain more than 2000 characters.

ORA-01705: an outer join cannot be specified on a correlation column
Cause: A correlation column, that is, a column in a subquery from a table referenced in the outer query's FROM clause, was followed by an outer-join indicator (+). This is not allowed.

Action: Revise the query. Refer to the syntax for subqueries. The outer-join indicator may follow only columns in the same query block in which their table is included in the FROM clause.

ORA-01706: user function result value was too large
Cause: The user-written SQL function has generated a result that is larger than the maximum defined in the function table.

Action: Change the maximum in the function table or correct the user-written function.

ORA-01707: missing LIST keyword
Cause: The keyword LIST is required in this context, for example, when using the ARCHIVE LOG statement to display the set of redo log files.

Action: Check the statement syntax, insert the keyword LIST where required, and retry the statement.

ORA-01708: ACCESS or SESSION expected
Cause: An AUDIT or NOAUDIT statement contained the keyword BY followed by something other than ACCESS or SESSION.

Action: Check the statement syntax and make sure to follow the keyword BY with ACCESS or SESSION.

ORA-01709: program does not exist
Cause: This feature is not currently implemented.

Action: No user action is required.

ORA-01710: missing OF keyword
Cause: The keyword OF was not specified in a SELECT FOR UPDATE statement.

Action: Check and correct the statement syntax. To specify SELECT FOR UPDATE, add the following clause to the end of the SELECT statement:

FOR UPDATE OF column-list

ORA-01711: duplicate privilege listed
Cause: A privilege was listed twice in a GRANT or REVOKE statement. A privilege may be specified only once in these statements.

Action: Remove the duplicate privilege from the list and retry the statement.

ORA-01712: cannot grant a privilege grantor does not have
Cause: The grantor could not grant a privilege to another user because the grantor does not have the privilege. A grantor can grant only privileges that the grantor has or is authorized to grant.

Action: Either

Specify only authorized privileges in the GRANT statement.
Ask the database administrator to grant the user the required privileges.
Ask the database administrator for the required privileges and then grant the other user the privileges.
ORA-01713: GRANT OPTION does not exist for that privilege
Cause: A GRANT statement specified a privilege that the granting user has but is not authorized to grant to other users. When the user was granted the privilege, the user was not given the GRANT OPTION needed to grant those privileges to others.

Action: Change the GRANT statement to specify only authorized privileges or ask the user who granted the privileges to grant the GRANT OPTION also.

ORA-01714: error in execution of user function
Cause: The user-written SQL function indicated that an error occurred during its execution. The meaning of the message is function-dependent.

Action: Ensure proper usage of the function or correct the function.

ORA-01715: UNIQUE may not be used with a cluster index
Cause: An attempt was made to create a cluster index with the UNIQUE attribute. This is not permitted.

Action: Remove the keyword UNIQUE from the CREATE INDEX statement and retry the statement.

ORA-01716: NOSORT may not be used with a cluster index
Cause: An attempt was made to create a cluster index using the NOSORT option. This is not permitted.

Action: Check the statement syntax, remove the keyword NOSORT from the CREATE INDEX statement, and retry the statement.

ORA-01717: seccta invalid access mode token passed
Cause: This is an internal error message not normally issued.

Action: Contact customer support.

ORA-01718: BY ACCESS | SESSION clause not allowed for NOAUDIT
Cause: A BY ACCESS or BY SESSION clause was used in a NOAUDIT statement. BY ACCESS and BY SESSION are valid clauses in AUDIT statements, but are not permitted in NOAUDIT statements.

Action: Remove the BY ACCESS or BY SESSION clause from the NOAUDIT statement.

ORA-01719: outer join operator (+) not allowed in operand of OR or IN
Cause: An outer join appears in an OR clause.

Action: If A and B are predicates, to get the effect of (A(+) OR B), try using the following:

(SELECT WHERE (A+ AND NOT B)) UNION ALL (SELECT WHERE (B));

ORA-01720: grant option does not exist for str
Cause: A grant was being performed on a view, and the grant option was not present for an underlying object.

Action: Obtain the grant option on all underlying objects of the view.

ORA-01721: USERENV (COMMITSCN) invoked more than once in a transaction
Cause: The USERENV function can be used only once in a transaction.

Action: Rewrite the transaction to use USERENV (COMMITSCN) only once.

ORA-01722: invalid number
Cause: The attempted conversion of a character string to a number failed because the character string was not a valid numeric literal. Only numeric fields or character fields containing numeric data may be used in arithmetic functions or expressions. Only numeric fields may be added to or subtracted from dates.

Action: Check the character strings in the function or expression. Check that they contain only numbers, a sign, a decimal point, and the character "E" or "e" and retry the operation.

ORA-01723: zero-length columns are not allowed
Cause: During CREATE TABLE, a zero-length column was specified, for example, CHAR(0).

Action: Correct the column declaration so that the length is at least 1 and try the operation again.

ORA-01724: floating point precision is out of range 1 to 126
Cause: Floating point precision is too small or large.

Action: Correct and retry.

ORA-01725: USERENV (COMMITSCN) not allowed here
Cause: The function USERENV (COMMITSCN) is allowed only as a top-level expression in the VALUES clause of an INSERT statement and on the right side of an assignment in an UPDATE statement.

Action: Correct the use of this function.

ORA-01726: a table is not appropriate here
Cause: A table name was used in a statement in which tables are not permitted.

Action: Enter a valid table statement or use the current statement on the appropriate object.

ORA-01727: numeric precision specifier is out of range 1 to 38
Cause: The precision specified for a number column in a CREATE/ALTER TABLE or CREATE CLUSTER statement must be a digit between 1 and 38. If no precision is specified, a default precision of 22 digits is used.

Action: Specify numeric precision between 1 and 38 and retry the statement.

ORA-01728: numeric scale specifier is out of range -84 to 127
Cause: The scale specified for a numeric field in a CREATE/ALTER TABLE or CREATE CLUSTER statement is not in the valid range. It should be between -84 and 127.

Action: Specify a numeric scale between -84 and 127. If a number is not specified, the default scale of the column is 0 decimal places.

ORA-01729: database link name expected
Cause: A database link name does not follow the at-sign (@) in a reference to a table in a remote database.

Action: Correct the reference and retry the operation. The correct syntax for denoting a table in a remote database follows:

username.table_name@ database_name

 

Spaces before and after the at-sign (@) are optional.


ORA-01730: invalid number of column names specified
Cause: The number of column names specified in a CREATE VIEW statement did not correspond to the number of columns listed in the SELECT clause. If column names are specified in a CREATE VIEW statement, exactly one name must be specified for each column or expression in the SELECT clause.

Action: Specify one view column name for each column in the SELECT clause.

ORA-01731: circular view definition encountered
Cause: Through a series of CREATE and DROP VIEW statements, a view was defined that refers to itself. For example, VIEW1 might include a column from VIEW2 that is defined as a column in VIEW1. View definitions may be seen by querying the data dictionary.

Action: Check the view definitions, remove any circular references, and retry the statements.

ORA-01732: data manipulation operation not legal on this view
Cause: An attempt was made to use an UPDATE, INSERT, or DELETE statement on a view that contains expressions or functions or was derived from more than one table. If a join operation was used to create the view or the view contains virtual columns derived from functions or expressions, then the view may only be queried.

Action: UPDATE, INSERT, or DELETE rows in the base tables instead and restrict the operations on the view to queries.

ORA-01733: virtual column not allowed here
Cause: An attempt was made to use an INSERT, UPDATE, or DELETE statement on an expression in a view.

Action: INSERT, UPDATE, or DELETE data in the base tables, instead of the view.

ORA-01734: illegal parameters - EXTENT MIN higher than EXTENT MAX
Cause: The value of the lower parameter EXTENT MIN was higher than the value of the upper parameter EXTENT MAX.

Action: Select a value for EXTENT MIN that is smaller than EXTENT MAX.

ORA-01735: invalid ALTER TABLE option
Cause: An invalid option was specified in an ALTER TABLE statement.

Action: Check the statement syntax, specify a valid option, and retry the statement.

ORA-01736: [NOT] SUCCESSFUL expected
Cause: An AUDIT or NOAUDIT statement contained WHENEVER followed by something other than SUCCESSFUL or NOT SUCCESSFUL.

Action: Correct the WHENEVER clause and retry the statement.

ORA-01737: valid modes: [ROW] SHARE, [[SHARE] ROW] EXCLUSIVE, SHARE UPDATE
Cause: The lock mode entered was not recognized.

Action: Enter one of the following: SHARE, ROW SHARE, EXCLUSIVE, ROW EXCLUSIVE, SHARE ROW EXCLUSIVE, or SHARE UPDATE.

ORA-01738: missing IN keyword
Cause: In a LOCK TABLE statement, the keyword IN was missing.

Action: Place the keyword IN and lock mode directly after the table name in the LOCK TABLE statement and retry the statement.

ORA-01739: missing MODE keyword
Cause: In a LOCK TABLE statement, the keyword MODE was missing. The keyword MODE must directly follow the specified lock mode.

Action: Check the statement syntax, insert the keyword MODE where required, and retry the statement.

ORA-01740: missing double quote in identifier
Cause: An initial double quote (") was found without a closing quote. If an identifier contains a blank or special characters other than $, #, or _, it must be enclosed in double quotes.

Action: Add a closing double quote (") to the end of the identifier.

ORA-01741: illegal zero-length identifier
Cause: An attempt was made to use two double quotes ("") as an identifier. An identifier must be at least one character long.

Action: Insert at least one character between the double quotes in the identifier. If a blank identifier is required, specify a blank space between the double quotes (" ").

ORA-01742: comment not terminated properly
Cause: The indicated Comment or hint beginning with a /* token is not terminated with a closing */ token.

Action: Check that the Comment or hint is terminated properly.

ORA-01743: internal inconsistency; illegal user function index
Cause: This is not currently implemented.

Action: No user action is required.

ORA-01744: inappropriate INTO
Cause: The INTO clause may not be used in a subquery.

Action: Check the syntax, place the INTO clause in the top-level query, and retry the statement.

ORA-01745: invalid host/bind variable name
Cause: A colon in a bind variable or INTO specification was followed by an inappropriate name, perhaps a reserved word.

Action: Change the variable name and retry the operation.

ORA-01746: indicator variable not permitted here
Cause: An indicator variable is not permitted in this context.

Action: Remove the indicator variable and retry the operation.

ORA-01747: invalid user.table.column, table.column, or columns specification
Cause: A column name was specified improperly in the current SQL statement.

Action: Check the statement's syntax, especially references to column names, and retry the statement.

ORA-01748: only simple column names allowed here
Cause: This SQL statement does not allow a qualified column name, such as username.table.column or table.column.

Action: Remove the qualifications from the column and retry the operation.

ORA-01749: may not GRANT/REVOKE privileges to/from self
Cause: Grantor is not allowed to grant or revoke object or system privileges to self.

Action: Issue the GRANT or REVOKE of system privileges from another database administrator account.

ORA-01750: UPDATE/REFERENCES may only be revoked from the whole table, not by column
Cause: Although it is possible to GRANT update privileges on a column-by-column basis, it is only possible to REVOKE them for an entire table.

Action: Do not identify specific columns. To revoke update privileges for certain columns, use REVOKE for the entire table and GRANT the user privileges for specific columns.

ORA-01751: invalid dump undo option
Cause: An invalid option was specified in the ALTER SYSTEM DUMP UNDO command.

Action: Check the syntax for spelling errors or invalid option names and reenter the command.

For more information about ALTER SYSTEM, see the index entry on "ALTER SYSTEM" in Oracle8 Server SQL Reference.

ORA-01752: cannot delete from view without exactly one key-preserved table
Cause: The deleted table either had no key-preserved tables, had more than one key-preserved table, or the key-preserved table was an unmerged view or a table from a read-only view.

Action: Redefine the view or delete it from the underlying base tables.

For more information about join views, see the index entries under "views" in Oracle8 Server SQL Reference, the index entry under "views" in the Oracle8 Server Application Developer's Guide, and the index entry on "updatable join views" in Oracle8 Server Concepts.

ORA-01753: column definition incompatible with clustered column definition
Cause: When adding a table to a cluster, the definition of the column in the table was inconsistent with the definition of the column in the cluster.

Action: The table cannot be added to the cluster until all cluster column definitions are consistent.

ORA-01754: a table may contain only one column of type LONG
Cause: Only one column per table may be defined with datatype LONG.

Action: Remove the LONG datatype from all but one column and retry the operation.

ORA-01755: must specify an extent number or block number
Cause: An extent number or block number was not specified.

Action: Specify the proper extent number or block number.

For more information about selecting the proper extent number or block number, see the index entries on "ALLOCATE EXTENT clause, of ALTER TABLE command" and on "block size" in Oracle8 Server SQL Reference.

ORA-01756: quoted string not properly terminated
Cause: A quoted string must be terminated with a single quote mark (').

Action: Insert the closing quote and retry the statement.

ORA-01757: must specify an object number
Cause: An object number was not specified.

Action: Specify the proper object number.

For more information specifying the proper object number, see the index entry on "object naming" in Oracle8 Server SQL Reference.

ORA-01758: table must be empty to add mandatory NOT NULL column
Cause: It is not possible to define a new column as NOT NULL if rows already exist in the table being modified.

Action: Retry the statement without the NOT NULL specification.

ORA-01759: user function is incorrectly defined
Cause: A user function has been improperly defined.

Action: Contact customer support.

ORA-01760: illegal argument for function
Cause: The argument or arguments specified for the function are not valid in this context.

Action: Check the definition of the function and correct the arguments.

ORA-01761: DML operation does not map to a unique table in the join
Cause: The primary table is the base table against which the update, insert or delete operation is ultimately performed. If the operation is a delete, either there is no primary table in the join or there is more than one primary table. If the operation is an update or an insert, the specified columns map to more than one base table.

Action: Modify the join specification so that the situations described above do not occur.

ORA-01762: vopdrv: view query block not in FROM
Cause: This is an internal error message not normally issued.

Action: Contact customer support.

ORA-01763: update or delete involves outer joined table
Cause: If the operation is a delete, the table being deleted from is outer-joined to some other table. If the operation is an update, either the table being updated is outer-joined to some other table, or a table that is reachable from the primary table is being outer-joined to a table not reachable from the primary table.

Action: Modify the join specification so that the situations described above do not occur.

ORA-01764: new update value of join is not guaranteed to be unique
Cause: A row of a join query table is being updated using a row of a table that is not guaranteed to have only one value for the row being updated.

Action: Modify the join specification, so that the situation described above does not occur.

ORA-01765: specifying table's owner name is not allowed
Cause: A table or view name was specified with a period (.) or identified with an invalid prefix.

Action: Check that the object is identified correctly and if necessary remove the period from the name.

ORA-01766: dictionary table not allowed in this context
Cause: The name of a data dictionary object was used outside the FROM clause of a SELECT statement. The only operation allowed on a data dictionary object is to SELECT from it.

Action: Restrict operations on data dictionary objects to queries.

ORA-01767: UPDATE ... SET expression must be a subquery
Cause: An attempt was made to use a single expression without a subquery to update a list of columns.

Action: Check the syntax for using subqueries to update data and add the necessary subquery.

ORA-01768: number string too long
Cause: A number entered exceeds the limit of 255 characters, including digits, sign, decimal point, and exponent.

Action: Shorten the number string, perhaps by expressing it in scientific notation, for example, 1.85E9 instead of 1,850,000,000.

ORA-01769: duplicate CLUSTER option specifications
Cause: During a CREATE of a clustered table, an attempt was made to specify more than one CLUSTER option.

Action: Remove the extra CLUSTER option and retry the statement.

ORA-01770: CLUSTER option not allowed in CREATE CLUSTER command
Cause: An attempt was made to use the CLUSTER option within a CREATE CLUSTER statement.

Action: Remove the CLUSTER clause and try again.

ORA-01771: illegal option for a clustered table
Cause: CLUSTER option conflicts with MAXTRANS option.

Action: Choose one option and retry the statement.

ORA-01772: must specify a value for LEVEL
Cause: A value for LEVEL was not specified.

Action: Specify a proper value for LEVEL and reissue the command.

For more information specifying a proper value for LEVEL, see the index entries on "LEVEL pseudocolumn" and on "LEVEL pseudocolumn, in SELECT command" in Oracle8 Server SQL Reference.

ORA-01773: may not specify column datatypes in this CREATE TABLE
Cause: Column datatypes were specified in a SELECT statement used to create and load a table directly.

Action: Remove column datatypes. The datatypes of the SELECT list expressions are automatically used as the column datatypes.

ORA-01774: dump undo option specified more than once
Cause: The same option was specified more than once in the ALTER SYSTEM DUMP UNDO command.

Action: Check the syntax, remove the redundant specification of the option, and reissue the command.

For more information about ALTER SYSTEM, see the index entry on "ALTER SYSTEM" in Oracle8 Server SQL Reference.

ORA-01775: looping chain of synonyms
Cause: Through a series of CREATE synonym statements, a synonym was defined that referred to itself. For example, the following definitions are circular:

CREATE SYNONYM s1 for s2
CREATE SYNONYM s2 for s3
CREATE SYNONYM s3 for s1

Action: Change one synonym definition so that it applies to a base table or view and retry the operation.

ORA-01776: cannot modify more than one base table through a join view
Cause: Columns belonging to more than one underlying table were either inserted into or updated.

Action: Phrase the statement as two or more separate statements.

For more information about join views, see the index entries under "views" in Oracle8 Server SQL Reference, the index entry under "views" in the Oracle8 Server Application Developer's Guide, and the index entry on "updatable join views" in Oracle8 Server Concepts.

ORA-01777: WITH GRANT OPTION not allowed in this system
Cause: This version of Oracle does not support the WITH GRANT OPTION.

Action: Remove the WITH GRANT option.

ORA-01778: maximum subquery nesting level exceeded
Cause: An attempt was made to use more than 255 levels of nested subqueries.

Action: Merge some of the subqueries into their containing queries, until there are less than 255 levels of nesting.

ORA-01779: cannot modify a column which maps to a non-key-preserved table
Cause: An attempt was made to insert or update columns of a join view which map to a non-key-preserved table.

Action: Modify the underlying base tables directly.

For more information about join views, see the index entries under "views" in Oracle8 Server SQL Reference, the index entry under "views" in the Oracle8 Server Application Developer's Guide, and the index entry on "updatable join views" in Oracle8 Server Concepts.

ORA-01780: string literal required
Cause: In a COMMENT statement, the Comment following the keyword IS must be a quoted string literal.

Action: Check that the Comment is a string literal.

ORA-01781: UNRECOVERABLE cannot be specified without AS SELECT
Cause: UNRECOVERABLE was specified in a CREATE TABLE statement without also specifying a populating subquery with an AS clause.

Action: Do not specify UNRECOVERABLE.

ORA-01782: UNRECOVERABLE cannot be specified for a cluster or clustered table
Cause: A CREATE CLUSTER or clustered CREATE TABLE statement specified UNRECOVERABLE.

Action: Do not specify UNRECOVERABLE.

ORA-01783: only one RECOVERABLE or UNRECOVERABLE clause may be specified
Cause: RECOVERABLE was specified more than once, UNRECOVERABLE was specified more than once, or both RECOVERABLE and UNRECOVERABLE were specified in a CREATE TABLE or CREATE INDEX statement.

Action: Remove all but one of the RECOVERABLE or UNRECOVERABLE clauses and reissue the statement.

ORA-01784: RECOVERABLE cannot be specified with database media recovery disabled
Cause: A CREATE TABLE or CREATE INDEX statement specified RECOVERABLE when the database was running in NOARCHIVELOG mode. Since logs are not being archived, they will be overwritten and the object being created cannot be recovered from a backup taken before the object was created.

Action: Do not specify RECOVERABLE, or restart the database with media recovery enabled.

ORA-01785: ORDER BY item must be the number of a SELECT-list expression
Cause: Either an ORDER BY item for a set expression is not a column number, or the ORDER BY item is not the number of a SELECT list column.

Action: The ORDER BY item must be a number between 1 and the number of columns in the SELECT list. Check the column number and retry the statement.

ORA-01786: FOR UPDATE of this query expression is not allowed
Cause: An attempt was made to use a FOR UPDATE clause on the result of a set expression involving GROUP BY, DISTINCT, UNION, INTERSECT, or MINUS.

Action: Check the syntax, remove the FOR UPDATE clause, and retry the statement.

ORA-01787: only one clause allowed per query block
Cause: An attempt was made to use more than one WHERE, GROUP BY, CONNECT BY, or HAVING clause in the query.

Action: Combine the duplicate clauses into a single clause and retry the statement.

ORA-01788: CONNECT BY clause required in this query block
Cause: A START WITH clause was specified without a CONNECT BY clause.

Action: Check the syntax, specify a CONNECT BY clause, and retry the statement.

ORA-01789: query block has incorrect number of result columns
Cause: All of the queries participating in a set expression do not contain the same number of SELECT list columns.

Action: Check that all the queries in the set expression have the same number of SELECT list columns.

ORA-01790: expression must have same datatype as corresponding expression
Cause: A SELECT list item corresponds to a SELECT list item with a different datatype in another query of the same set expression.

Action: Check that all corresponding SELECT list items have the same datatypes. Use the TO_NUMBER, TO_CHAR, and TO_DATE functions to do explicit data conversions.

ORA-01791: not a SELECTed expression
Cause: There is an incorrect ORDER BY item. The query is a SELECT DISTINCT query with an ORDER BY clause. In this context, all ORDER BY items must be constants, SELECT list expressions, or expressions whose operands are constants or SELECT list expressions.

Action: Remove the inappropriate ORDER BY item from the SELECT list and retry the statement.

ORA-01792: maximum number of columns in a table or view is 254
Cause: While creating a table or view, more than 254 columns were specified.

Action: Remove some columns from the table or view definition. If all the information is required, split the columns into two tables or views and join the columns when querying.

ORA-01793: maximum number of index columns is 16
Cause: While creating an index, more than 16 columns were specified.

Action: Remove some columns from the index definition. If all the columns indexed are required, split them into two indexes.

ORA-01794: maximum number of cluster columns is 16
Cause: More than 16 columns were specified in the cluster key.

Action: Remove some of the columns from the cluster key definition. Consider concatenating multiple character strings into a single column.

ORA-01795: maximum number of expressions in a list is 254
Cause: More than 254 columns or expressions were specified in a list.

Action: Remove some of the expressions from the list.

ORA-01796: this operator cannot be used with lists
Cause: A relational operator is not allowed in this context. When comparing lists, use only an operator that tests for equivalence, such as =, !=, or IN.

Action: Rephrase the query so that it only compares lists for equivalence. For example, the following clause is invalid:

WHERE (A,B) > ((C,D), (E,F))

 

It may be necessary to compare individual columns separately. For example, to see if A and B are respectively greater than C and D, use WHERE A>B AND C>D instead of WHERE (A,B)>(C,D).


ORA-01797: this operator must be followed by ANY or ALL
Cause: The keyword ANY or ALL was missing.

Action: Check the statement syntax and add ANY or ALL where appropriate.

ORA-01798: missing EXCEPTION keyword
Cause: The EXCEPTION keyword is missing from the ENABLE clause.

Action: Correct the syntax.

ORA-01799: a column may not be outer-joined to a subquery
Cause: An expression is not permitted to be joined to a subquery.

Action: Either remove the join or convert the subquery to a view.

posted on 2013-03-21 17:18  ruberzhu  阅读(1516)  评论(0编辑  收藏  举报

导航