Overblog Suivre ce blog
Editer la page Administration Créer mon blog
/ / /

 

PLS PLSQL ERROR CODE ORACLE.

 

PLS-00240 PLS-00240: Invalid type specification for RETURN indicator, length, tdo, duration
Cause An inappropriate external parameter type was specified for the RETURN indicator, LENGTH, TDO, or DURATION.
Action Correct the RETURN parameter specification.

 

PLS-00241 PLS-00241: invalid external type specification for SQLSTATE
Cause An inappropriate external parameter type was specified for the SQLSTATE parameter.
Action Correct the SQLSTATE parameter specification.

 

PLS-00242 PLS-00242: invalid external type specification for CONTEXT
Cause An inappropriate external parameter type was specified for the CONTEXT parameter.
Action Correct the CONTEXT parameter specification.

 

PLS-00243 PLS-00243: invalid external type specification for SQLNAME
Cause An inappropriate external parameter type was specified for the SQLNAME parameter.
Action Correct the SQLNAME parameter specification.

 

PLS-00244 PLS-00244: Multiple declarations in foreign function formal parameter list
Cause There are multiple declarations of at least one the following FORMAL, INDICATOR, LENGTH, MAXLENGTH, or CONTEXT. PL/SQL allows only one declaration of the above for each formal parameter in the PARAMETERS clause.
Action Correct the PARAMETERS clause.

 

PLS-00245 PLS-00245: Formals used in the "parameters" clause must appear exactly once
Cause There are multiple declarations of the formal parameter in the PARAMETERS clause. PL/SQL allows only one declaration of the formal parameter in the PARAMETERS clause.
Action Correct the PARAMETERS clause.

 

PLS-00246 PLS-00246: PARAMETER STYLE is unsupported
Cause A PARAMETER STYLE clause was placed in the external subprogram body.
Action Remove the PARAMETER STYLE clause.

 

PLS-00247 PLS-00247: LIBRARY name must be specified
Cause The LIBRARY name is missing from the external subprogram body.
Action The LIBRARY name was not specified in the external subprogram body.

 

PLS-00248 PLS-00248: Invalid Library Syntax
Cause The LIBRARY syntax was entered incorrectly.
Action Correct the LIBRARY syntax and recompile.

 

PLS-00249 PLS-00249: Invalid WITH CONTEXT Syntax
Cause CONTEXT was used in a WITH CONTEXT or a PARAMETERS clause. This is invalid.
Action Check if WITH CONTEXT is used without specifying CONTEXT in the PARAMETERS clause or vice versa. The PARAMETERS clause must be complete. Thus if WITH CONTEXT is specified, then CONTEXT must be referenced in the PARAMETERS clause (if there is one).

 

PLS-00250 PLS-00250: Incorrect Usage of string in parameters clause.
Cause The usage of Keywords such as MAXLEN, LENGTH, CHARSETID, CHARSETFORM RETURN in the parameters clause was incorrect
Action This error occurs if keywords like MAXLEN, LENGTH, TDO, DURATION, CHARSETID, or CHARSETFORM cannot be used with PL/SQL formal parameters or the mode of the formal parameter. For example, MAXLEN can only be declared for a CHAR or VARCHAR2 PL/SQL variable and its use is allowed only for OUT or INOUT PL/SQL variables. Also, RETURN was specified in the parameters clause for a PL/SQL PROCEDURE. E.g. CREATE PROCEDURE proc IS EXTERNAL NAME ... LIBRARY ... PARAMETERS(RETURN INDICATOR SHORT, RETURN);

 

PLS-00251 PLS-00251: RETURN, for actual function return, must be last in the parameters clause
Cause RETURN specification for the actual function return, used within the parameters clause must hold the very last position. Example : The following will give this error since the RETURN specification for the actual function return in the parameters clause is not the last. FUNCTION myexternalfunc (var1 BINARY_INTEGER, var2 BINARY_INTEGER) RETURN BINARY_INTEGER IS EXTERNAL NAME "myexternalfunc" LIBRARY somelib PARAMETERS (var1 LONG, var2 SHORT, RETURN INT, RETURN INDICATOR SHORT); The correct syntax is the following. Note that RETURN for actual function return is the last specification in the parameters clause. FUNCTION myexternalfunc (var1 BINARY_INTEGER, var2 BINARY_INTEGER) RETURN BINARY_INTEGER IS EXTERNAL NAME "myexternalfunc" LIBRARY somelib PARAMETERS (var1 LONG, var2 SHORT, RETURN INDICATOR SHORT, RETURN INT);
Action Correct the syntax of the RETURN specification in the parameters clause

 

PLS-00252 PLS-00252: reference to the wrong copy of package STANDARD
Cause A reference is made to the fixed package version of STANDARD when the database is open, or to the on-disk version when the database is closed. Explicit use of a SYS.X$ package name can lead to this. One might also see this from a compilation that begins while the db is closed but has the bad luck to have another session open the db before compilation is complete. Another possible cause is having "set serveroutput on" through svrmgrl when doing an "alter database close".
Action Make use of on-disk versions of packages when the database is open and fixed (preloaded) versions when the database is closed. Do not attempt to use the wrong set. It should be quite hard to reference the wrong set, except by using SYS.X$ package names explicitly. Also, be sure to "set serveroutput off" before doing an "alter database close".

 

PLS-00253 PLS-00253: Formal parameter string missing in the parameters clause
Cause The parameter clause does not have a matching parameter for a parameter specified in the formal parameter list.
Action Provide a matching parameter in parameters clause for every formal parameter.

 

PLS-00254 PLS-00254: OUT and IN/OUT modes cannot be used in this context
Cause actual parameter mode (OUT, or IN/OUT) is not used properly in USING clause. For USING clause in an OPEN statement, only IN mode is allowed.
Action change the parameter mode in the USING clause to an appropriate mode.

 

PLS-00255 PLS-00255: CALL Specification parameters cannot have default values
Cause CALL Specification formal parameters default values are disallowed.
Action Remove the default values in the formal parameter list (spec or body) and compile again.

 

PLS-00256 PLS-00256: %s is not a valid external library
Cause The supplied external library name in the external clause is not a valid alias library.
Action Provide the name of a valid alias library which is previously declared.

 

PLS-00257 PLS-00257: illegal use of EXTERNAL clause in a TYPE or PACKAGE specification
Cause An EXTERNAL Clause was detected in a TYPE Specification or a PACKAGE specification.
Action Remove the EXTERNAL Clause and use the new CALL Specification syntax.

 

PLS-00258 PLS-00258: constrained datatypes disallowed in CALL Specifications
Cause A call specification for C or Java cannot have constraints on the PL/SQL formal parameter types. PL/SQL types which have have constraints are NATURAL, NATURALN, POSITIVE, POSITIVEN, SIGNTYPE, INTEGER, INT, SMALLINT, DECIMAL, NUMERIC, DEC This includes NOT NULL constraints from POSITIVEN, NATURALN
Action Use the unconstrained type for that PL/SQL formal declaration i.e NUMBER, BINARY_INTEGER or PLS_INTEGER

 

PLS-00259 PLS-00259: rights model (AUTHID) must be specified
Cause It is mandatory to specify the rights model if a PL/SQL PROCEDURE, FUNCTION, PACKAGE OR TYPE HAS CALL-Specifications
Action Add the AUTHID clause indicating the rights model.

 

PLS-00260 PLS-00260: Datetime/Interval constraints must be in range (0 .. 9)
Cause A Datetime/Interval variable or attribute was declared with a constraint outside the legal range.
Action Change the illegal constraint.

 

PLS-00261 PLS-00261: Java CALL Specification not yet allowed as a method in an object type
Cause A call specification declaring that an implementation is in Java has been found for a method of an object or opaque type. This usage is not yet supported.
Action Implement the method using a language other than Java. A PL/SQL method implementation is permitted to call to Java through a call specification provided as a schema-level procedure or in a package; such a call specification can only target a static Java method, however. ****** errors until 300 are reserved for External Procedures ********** ****** PH2 errors **********

 

PLS-00302 PLS-00302: component "string" must be declared
Cause In a reference to a component (for example, in the name "A.B", "B" is a component of "A"), the component has not been declared. The component might be misspelled, its declaration might be faulty, or the declaration might be placed incorrectly in the block structure.
Action Check the spelling and declaration of the component. Also confirm that the declaration is placed correctly in the block structure.

 

PLS-00303 PLS-00303: qualifier "string" must be declared
Cause In a name such as "A.B", "A" is the qualifier, and "B" is a component of the qualifier. This error occurs when no declaration for the qualifier is found.The qualifier might be misspelled, its declaration might be faulty, or the declaration might be placed incorrectly in the block structure.
Action Check the spelling and declaration of the qualifier. Also confirm that the declaration is placed correctly in the block structure.

 

PLS-00304 PLS-00304: cannot compile body of "string" without its specification
Cause The compiled package specification required to compile a package body could not be found. Some possible causes follow: --the package name is misspelled --the package specification was never compiled --the compiled package specification is not accessible The package specification must be compiled before compiling the package body, and the compiler must have access to the compiled specification.
Action Check the spelling of the package name. Compile the package specification before compiling the package body. Also, make sure the compiler has access to the compiled specification.

 

PLS-00305 PLS-00305: previous use of "string" (at line string) conflicts with this use
Cause While looking for prior declarations of a cursor, procedure, function, or package, the compiler found another object with the same name in the same scope. Or, the headers of subprogram in a package specification and body do not match word for word.
Action Check the spelling of the cursor, procedure, function, or package name. Also check the names of all constants, variables, parameters, and exceptions declared in the same scope. Then, remove or rename the object with the duplicate name. Or, change the headers of the packaged subprogram so that they match word for word.

 

PLS-00306 PLS-00306: wrong number or types of arguments in call to "string"
Cause This error occurs when the named subprogram call cannot be matched to any declaration for that subprogram name. The subprogram name might be misspelled, a parameter might have the wrong datatype, the declaration might be faulty, or the declaration might be placed incorrectly in the block structure. For example, this error occurs if the built-in square root function SQRT is called with a misspelled name or with a parameter of the wrong datatype.
Action Check the spelling and declaration of the subprogram name. Also confirm that its call is correct, its parameters are of the right datatype, and, if it is not a built-in function, that its declaration is placed correctly in the block structure.

 

PLS-00307 PLS-00307: too many declarations of "string" match this call
Cause The declaration of a subprogram or cursor name is ambiguous because there was no exact match between the declaration and the call and more than one declaration matched the call when implicit conversions of the parameter datatypes were used. The subprogram or cursor name might be misspelled, its declaration might be faulty, or the declaration might be placed incorrectly in the block structure.
Action Check the spelling and declaration of the subprogram or cursor name. Also confirm that its call is correct, its parameters are of the right datatype, and, if it is not a built-in function, that its declaration is placed correctly in the block structure.

 

PLS-00308 PLS-00308: this construct is not allowed as the origin of an assignment
Cause The construct or expression does not designate a value that can be assigned to a variable. For example, the datatype name NUMBER cannot appear on the right hand side of an assignment statement as in X := NUMBER.
Action Correct the illegal assignment statement.

 

PLS-00309 PLS-00309: with %%LAST attribute, "string" must be a variable of an enumerated type
Cause The "%LAST" attribute must be applied to an identifier that has been declared as a variable of an enumerated type (or subtype of an enumerated type). This error occurs when "%LAST" follows some identifier that has not been so declared.
Action none

 

PLS-00310 PLS-00310: with %%ROWTYPE attribute, "string" must name a table, cursor or cursor-variable
Cause The %ROWTYPE attribute must be applied to an identifier declared as a cursor, cursor variable, or database table. This error occurs when %ROWTYPE follows some identifier that has not been so declared.
Action Change the declaration or do not apply the %ROWTYPE attribute to the identifier.

 

PLS-00311 PLS-00311: the declaration of "string" is incomplete or malformed
Cause This occurrence of the identifier cannot be compiled because its type has not been properly defined.
Action Correct the faulty datatype declaration.

 

PLS-00312 PLS-00312: a positional parameter association may not follow a named association
Cause When a list of parameters is passed to a subprogram or cursor, if both positional and named associations are used, all positional associations must be placed in their declared order and before all named associations, which can be in any order.
Action Reorder the parameter list to meet the requirements or use named association only.

 

PLS-00313 PLS-00313: "string" not declared in this scope
Cause There is no declaration for the given identifier within the scope of reference. The identifier might be misspelled, its declaration might be faulty, or the declaration might be placed incorrectly in the block structure.
Action Check the spelling and declaration of the identifier. Also confirm that the declaration is placed correctly in the block structure.

 

PLS-00314 PLS-00314: TABLE declarations are not allowed as PL/SQL local variables
Cause In a precompiled program, the DECLARE TABLE statement was mistakenly used inside an embedded PL/SQL block. If an embedded PL/SQL block refers to a database table that does not yet exist, use the DECLARE TABLE statement to tell the precompiler what the table will look like. However, DECLARE TABLE statements are allowed only in the host program.
Action Move the DECLARE TABLE statement outside the embedded PL/SQL block. If you want a variable that can store an entire row of data selected from a database table or fetched from a cursor or cursor variable, use the %ROWTYPE attribute.

 

PLS-00315 PLS-00315: Implementation restriction: unsupported table index type
Cause In the INDEX BY clause of a PL/SQL table declaration, a datatype other than BINARY_INTEGER, PLS_INTEGER, or VARCHAR2 was specified. PL/SQL tables can have one column and a primary key. The column can have any scalar type, but the primary key must be either a binary integer type or VARCHAR2.
Action Use one of the supported key types in the INDEX BY clause.

 

PLS-00316 PLS-00316: PL/SQL TABLEs must use a single index
Cause In the INDEX BY clause of a PL/SQL table declaration, a composite primary key was specified. PL/SQL tables must have a simple, unnamed primary key of a binary integer or VARCHAR2 type.
Action Use one of the supported key types in the INDEX BY clause.

 

PLS-00317 PLS-00317: incomplete type "string" was not completed in its declarative region
Cause An incomplete type declaration was not completed in the declarative region where it was declared.
Action Complete the type appropriately, then retry the operation.

 

PLS-00318 PLS-00318: type "string" is malformed because it is a non-REF mutually recursive type
Cause A type-declaration such as: -- a non-REF recursive type, for example: type t is record (a t); or -- non-REF mutually dependent types, for example: type t1; type t2 is record (a t1); type t1 is record (a t2); was performed. In these examples, the type is malformed because it participates in a mutually recursive non-REF relationship with itself and possibly other types.
Action Use another type to remove the recursion.

 

PLS-00319 PLS-00319: subquery in an IN or NOT IN clause must contain exactly one column
Cause An invalid expression such as X IN (SELECT A,B ...) was used. When a [NOT]IN clause is used with a subquery, it does not test for set membership. The number of expressions in the [NOT]IN clause and the subquery select list must match. So, in the example above, the subquery must specify at most one column.
Action Change the subquery to select only one column.

 

PLS-00320 PLS-00320: the declaration of the type of this expression is incomplete or malformed
Cause In a declaration, the name of a variable or cursor is misspelled or the declaration makes a forward reference. Forward references are not allowed in PL/SQL. A variable or cursor must be declared before it is referenced it in other statements, including other declarative statements. For example, the following declaration of dept_rec raises this exception because it refers to a cursor not yet declared: DECLARE dept_rec dept_cur%ROWTYPE; CURSOR dept_cur IS SELECT ... ...
Action Check the spelling of all identifiers in the declaration. If necessary, move the declaration so that it makes no forward references.

 

PLS-00321 PLS-00321: expression "string" is inappropriate as the left hand side of an assignment statement
Cause The expression does not designate a variable that can have a value assigned to it. For example, the function SYSDATE cannot appear on the left hand side of an assignment statement such as SYSDATE := "01-JAN-1990";
Action Correct the illegal assignment statement.

 

PLS-00322 PLS-00322: declaration of a constant "string" must contain an initialization assignment
Cause A constant declaration lacks the assignment of an initial value. For example, in the following declaration" := 3.14159" is the initialization clause: "pi constant number := 3.14159;"
Action Correct the constant declaration by supplying the missing initialization assignment.

 

PLS-00323 PLS-00323: subprogram or cursor "string" is declared in a package specification and must be defined in the package body
Cause A subprogram specification was placed in a package specification, but the corresponding subprogram body was not placed in the package body. The package body implements the package specification. So, the package body must contain the definition of every subprogram declared in the package specification.
Action Check the spelling of the subprogram name. If necessary, add the missing subprogram body to the package body.

 

PLS-00324 PLS-00324: cursor attribute may not be applied to non-cursor "string"
Cause This error occurs when a cursor-attribute ("%FOUND", "%NOTFOUND", "%ROWS", "%IS_OPEN", etc.) appears following an identifier that is not declared as a cursor or cursor variable. It occurs, for example, if the variable name my_cur in my_cur%FOUND was not properly declared as a cursor or if the variable declaration was placed incorrectly in the block structure.
Action Check the spelling and declaration of the identifier. Also confirm that the declaration is placed correctly in the block structure.

 

PLS-00325 PLS-00325: non-integral numeric literal string is inappropriate in this context
Cause A non-integral numeric literal was used in a context that requires an integer (a number with no digits to the right of its decimal point).
Action Replace the inappropriate literal with an integer literal.

 

PLS-00326 PLS-00326: IN clause must contain same number of expressions as subquery
Cause The number of expressions in an IN clause did not equal the number of expressions in a corresponding subquery select list. For example, the following statement is invalid because the IN clause contains two expressions, but the subquery select list contains just one: ... WHERE (ename, sal) IN (SELECT sal FROM emp);
Action Check the number of expressions in each set, then revise the statement to make the numbers equal.

 

PLS-00327 PLS-00327: "string" is not in SQL scope here
Cause In a SQL statement, a reference was made to an out-of-scope database object. The referenced object might be misspelled, or the reference might be mixed, as in the following example: CURSOR c1 IS SELECT dept.dname FROM emp;
Action Check the spelling of all database objects in the SQL statement, and make sure all references are to objects within the current scope.

 

PLS-00328 PLS-00328: A subprogram body must be defined for the forward declaration of string.
Cause A subprogram specification was declared, but the corresponding subprogram body was not defined. Write the subprogram specification and body as a unit. An alternative solution is to separate the specification from its body, which is necessary when you want to define mutually recursive subprograms or you want to group subprograms in a package.
Action Check the spelling of the subprogram name. If necessary, supply the missing subprogram body.

 

PLS-00329 PLS-00329: schema-level type has illegal reference to string
Cause An attempt was made to make a reference from a schema-level type to something other than a schema-level type.
Action Replace the illegal reference and retry the operation.

 

PLS-00330 PLS-00330: invalid use of type name or subtype name
Cause A datatype or subtype specifier was mistakenly used in place of a constant, variable, or expression. For example, the code might look like IF emp_count > number THEN ... -- illegal; NUMBER is a datatype specifier
Action Replace the datatype or subtype specifier with a valid constant, variable, or expression.

 

PLS-00331 PLS-00331: illegal reference to string
Cause You had an EITHER.
1. an illegal reference to some object in user SYS. to use one of them in an illegal way OR
2. an illegal reference to a remote object type.
Action Remove the reference.

 

PLS-00332 PLS-00332: "string" is not a valid prefix for a qualified name
Cause You have a malformed qualified name because the prefix is not valid.
Action Remove or change the reference.

 

PLS-00333 PLS-00333: "string" must match an object-table alias in this context
Cause The name, appearing in the context of a REF or VALUE, did not resolve to an object-table alias.
Action 1) If there is no object table in the scope, then remove the REF or VALUE; or provide the missing object table reference.
2) If there is an object table in the scope, but you"re not referring to it, add the reference.

 

PLS-00334 PLS-00334: "string" matches table or view without an alias
Cause You have a reference to a table or view name without an alias.
Action Replace the reference with a reference to an object-table alias.

 

PLS-00335 PLS-00335: a package name conflicts with an existing object
Cause In a CREATE PACKAGE statement, a package (which is a database object that groups logically related PL/SQL types, objects, and subprograms) was given the same name as an existing database object.
Action Give the package a unique name.

 

PLS-00336 PLS-00336: non-object-table "string" illegal in this context
Cause You have a REF or VALUE modifier for a non-object-table
Action Replace the reference with a reference to an object-table alias.

 

PLS-00337 PLS-00337: "string" matches too many object table aliases
Cause You have an ambiguous reference to an object-table alias; there are at least two object-table aliases in the same scope.
Action Remove all but one of the references or change the alias names of the remaining.

 

PLS-00338 PLS-00338: unable to resolve "string" as a column or row expression
Cause You have a reference to a name that could not be resolved as a column or row expression. This occurred in an update or insert statement involving an object-table.
Action If this is an update statement and you intended to code this as a column reference, fix it as such. If you intended to code this as a row expression, change this to refer to an alias of an object-table.

 

PLS-00339 PLS-00339: "string" matches object-table without a REF or VALUE modifier
Cause You have an object-table name appearing without a REF or VALUE modifier.
Action If you intended to code this with a REF or VALUE modifier, add the modifier; if you intended to code this as a column reference, change the reference appropriately; otherwise, remove the reference.

 

PLS-00341 PLS-00341: declaration of cursor "string" is incomplete or malformed
Cause A cursor declaration is improper or an identifier referenced in the cursor declaration was not properly declared. A return type that does not refer to an existing database table or a previously declared cursor or cursor variable might have been specified. For example, the following cursor declaration is illegal because c1 is not yet fully defined: CURSOR c1 RETURN c1%ROWTYPE IS SELECT ... -- illegal In this case, a return type does not have to be specified because it is implicit.
Action Check the spelling and declaration of the cursor name and any identifiers referenced in the cursor declaration. Also confirm that the declaration is placed correctly in the block structure. If a return type was specified, make sure that it refers to an existing database table or a previously declared cursor or cursor variable.

 

PLS-00351 PLS-00351: Not logged onto database "string"
Cause An attempt was made to access an Oracle database without being logged on. Probably, an invalid username or password was entered.
Action Log on to Oracle with a correctly spelled username and password before trying to access the database.

 

PLS-00352 PLS-00352: Unable to access another database "string"
Cause An attempt was made to reference an object in a database other than the current local or remote Oracle database.
Action Correct the reference and make sure the object is in the current Oracle database.

 

PLS-00353 PLS-00353: "string" must name a user in the database
Cause This error occurs when the username was misspelled or when the user does not exist in the database.
Action Check the spelling of the username and make sure the user exists.

 

PLS-00354 PLS-00354: username must be a simple identifier
Cause A qualified username such as scott.accts is not permitted in this context.
Action Specify a simple username such as scott instead.

 

PLS-00355 PLS-00355: use of pl/sql table not allowed in this context
Cause A PL/SQL table was referenced in the wrong context (for example, with a remote link).
Action Remove the PL/SQL table reference or change the context.

 

PLS-00356 PLS-00356: "string" must name a table to which the user has access
Cause The named table is not accessible to the user. This error occurs when the table name or username was misspelled, the table and/or user does not exist in the database, the user was not granted the necessary privileges, or the table name duplicates the name of a local variable or loop counter.
Action Check the spelling of the table name and username. Also confirm that the table and user exist, the user has the necessary privileges, and the table name does not duplicate the name of a local variable or loop counter.

 

PLS-00357 PLS-00357: Table,View Or Sequence reference "string" not allowed in this context
Cause A reference to database table, view, or sequence was found in an inappropriate context. Such references can appear only in SQL statements or (excluding sequences) in %TYPE and %ROWTYPE declarations. Some valid examples follow: SELECT ename, emp.deptno, dname INTO my_ename, my_deptno, my_dept .FROM emp, dept WHERE emp.deptno = dept.deptno; DECLARE last_name emp.ename%TYPE; dept_rec dept%ROWTYPE;
Action Remove or relocate the illegal reference.

 

PLS-00358 PLS-00358: column "string" exists in more than one table; use qualifier
Cause The statement is ambiguous because it specifies two or more tables having the same column name. For example, the following statement is ambiguous because deptno is a column in both tables: SELECT deptno, loc INTO my_deptno, my_loc FROM emp, dept;
Action Precede the column name with the table name (as in emp.deptno) so that the column reference is unambiguous.

 

PLS-00359 PLS-00359: assignment target in "string" must have components
Cause An assignment target was declared that lacks the components needed to store the assigned values. For example, this error occurs if you try to assign a row of column values to a variable instead of a record, as follows: DECLARE dept_rec dept%ROWTYPE; my_deptno dept.deptno%TYPE; ... BEGIN SELECT deptno, dname, loc INTO my_deptno -- invalid FROM dept WHERE ...
Action Check the spelling of the names of the assignment target and all its components. Make sure the assignment target is declared with the required components and that the declaration is placed correctly in the block structure.

 

PLS-00360 PLS-00360: cursor declaration without body needs return type
Cause A cursor declaration lacks either a body (SELECT statement) or a return type. If you want to separate a cursor specification from its body, a return type must be supplied, as in CURSOR c1 RETURN emp%ROWTYPE;
Action Add a SELECT statement or return type to the cursor declaration.

 

PLS-00361 PLS-00361: IN cursor "string" cannot be OPEN"ed
Cause A cursor parameter with mode IN cannot be modified, and therefore cannot be opened.
Action Change the cursor parameter to be IN OUT or OUT

 

PLS-00362 PLS-00362: invalid cursor return type; "string" must be a record type
Cause In a cursor specification or REF CURSOR type definition, a non- record type such as NUMBER or TABLE was specified as the return type. This is not allowed. Only the following return types are allowed: 'record_type_name' 'record_name'%TYPE 'table_name'%ROWTYPE 'cursor_name'%ROWTYPE 'cursor_variable_name'%ROWTYTPE
Action Revise the cursor specification or REF CURSOR type definition so that it specifies one of the above return types.

 

PLS-00363 PLS-00363: expression "string" cannot be used as an assignment target
Cause A literal, constant, IN parameter, loop counter, or function call was mistakenly used as the target of an assignment. For example, the following statement is illegal because the assignment target, 30, is a literal: SELECT deptno INTO 30 FROM dept WHERE ... -- illegal
Action Correct the statement by using a valid assignment target.

 

PLS-00364 PLS-00364: loop index variable "string" use is invalid
Cause An attempt was made to assign the value of an OUT parameter to
Action Use an IN OUT parameter instead of the OUT parameter. Inside a

 

PLS-00366 PLS-00366: subtype of a NOT NULL type must also be NOT NULL
Cause After a subtype was defined as NOT NULL, it was used as the base type for another subtype defined as NULL. That is not allowed. For example, the code might look like DECLARE SUBTYPE Weekday IS INTEGER NOT NULL; SUBTYPE Weekend IS Weekday NULL; -- illegal instead of DECLARE SUBTYPE Weekday IS INTEGER NOT NULL; SUBTYPE Weekend IS Weekday;
Action Revise the subtype definitions to eliminate the conflict.

 

PLS-00367 PLS-00367: a RAISE statement with no exception name must be inside an exception handler
Cause A RAISE statement not followed by an exception name was found outside an exception handler
Action Delete the RAISE statement, relocate it to an exception handler, or supply the missing exception name.

 

PLS-00368 PLS-00368: in RAISE statement, "string" must be an exception name
Cause The identifier in a RAISE statement is not a valid exception name.
Action Make sure the identifier in the RAISE statement was declared as an exception and is correctly placed in the block structure. If you are using the name of a PL/SQL predefined exception, check its spelling.

 

PLS-00369 PLS-00369: no choices may appear with choice OTHERS in an exception handler
Cause A construct of the form WHEN excep1 OR OTHERS => was encountered in the definition of an exception handler. The OTHERS handler must appear by itself as the last exception handler in a block.
Action Remove the identifier that appears with OTHERS or write a separate exception handler for that identifier.

 

PLS-00370 PLS-00370: OTHERS handler must be last among the exception handlers of a block
Cause One or more exception handlers appear after an OTHERS handler. However, the OTHERS handler must be the last handler in a block or subprogram because it acts as the handler for all exceptions not named specifically.
Action Move the OTHERS handler so that it follows all specific exception handlers.

 

PLS-00371 PLS-00371: at most one declaration for "string" is permitted
Cause A reference to an identifier was ambiguous because there were multiple declarations for the identifier. At most one local variable with a given identifier is permitted in the declarative part of a block, procedure, or function. At most one label with a given identifier may appear in a block.
Action Check the spelling of the identifier. If necessary, remove all but one declaration of the identifier.

 

PLS-00372 PLS-00372: In a procedure, RETURN statement cannot contain an expression
Cause In a procedure, a RETURN statement contains an expression, which is not allowed. In functions, a RETURN statement must contain an expression because its value is assigned to the function identifier. However, in procedures, a RETURN statement simply lets you exit before the normal end of the procedure is reached.
Action Remove the expression from the RETURN statement, or redefine the procedure as a function.

 

PLS-00373 PLS-00373: EXIT label "string" must label a LOOP statement
Cause The label in an EXIT statement does not refer to a loop. An EXIT statement need not specify a label. However, if a label is specified (as in EXIT my_label), it must refer to a loop statement.
Action Make sure the label name is spelled correctly and that it refers to a loop statement.

 

PLS-00374 PLS-00374: illegal EXIT statement; it must appear inside the loop labeled "string"
Cause An EXIT statement need not specify a label. However, if a label is specified (as in EXIT my_label), the EXIT statement must be inside the loop designated by that label.
Action Make sure the label name is spelled correctly; if necessary, move the EXIT statement inside the loop to which the label refers.

 

PLS-00375 PLS-00375: illegal GOTO statement; this GOTO cannot branch to label "string"
Cause The line and column numbers accompanying the error message refer to a GOTO that branches from outside a construct (a loop or exception handler, for example) that contains a sequence of statements to a label inside that sequence of statements. Such a branch is not allowed.
Action Either move the GOTO statement inside the sequence of statements or move the labeled statement outside the sequence of statements.

 

PLS-00376 PLS-00376: illegal EXIT statement; it must appear inside a loop
Cause An EXIT statement was found outside of a loop construct. The EXIT statement is used to exit prematurely from a loop and so must always appear within a loop.
Action Either remove the EXIT statement or place it inside a loop.

 

PLS-00377 PLS-00377: internal type PLS_INTEGER is not included in this release of PL/SQL
Cause The type-name INTEGER was used in a declaration.
Action none

 

PLS-00378 PLS-00378: invalid compilation unit for this release of PL/SQL
Cause A compilation unit is a file containing PL/SQL source code that is passed to the compiler. Only compilation units containing blocks, declarations, statements, and subprograms are allowed. This error occurs when some other language construct is passed to the compiler.
Action Make sure the compilation unit contains only blocks, declarations, statements, and subprograms.

 

PLS-00379 PLS-00379: CASE statements are not included in this release of PL/SQL
Cause The unit being compiled contains a CASE statement. However, the current release of PL/SQL does not support CASE statements.
Action Remove the CASE statement from the compilation unit.

 

PLS-00380 PLS-00380: functions and procedures are not included in this release of PL/SQL
Cause The program being compiled contains a declaration of a FUNCTION or PROCEDURE.
Action none

 

PLS-00381 PLS-00381: type mismatch found at "string" between column and variable in subquery or INSERT
Cause The datatypes of a column and a variable do not match. The variable was encountered in a subquery or INSERT statement.
Action Change the variable datatype to match that of the column.

 

PLS-00382 PLS-00382: expression is of wrong type
Cause An expression has the wrong datatype for the context in which it was found.
Action Change the datatype of the expression. You might want to use datatype conversion functions.

 

PLS-00383 PLS-00383: type mismatch found at "string" inside an IN or NOT IN clause
Cause In a test for set membership such as X NOT IN (SELECT Y ... ), the expressions X and Y do not match in datatype, and it is unclear which implicit conversion is required to correct the mismatch.
Action Change the expressions so that their datatypes match. You might want to use datatype conversion functions in the select list.

 

PLS-00384 PLS-00384: type mismatch found at "string" in UPDATE"s SET clause
Cause The column to the left of the equal sign in the SET clause of an UPDATE statement does not match in datatype with the column, expression, or subquery to the right of the equal sign, and it is unclear which implicit conversion is required to correct the mismatch.
Action Change the expressions so that their datatypes match. You might want to use datatype conversion functions in the SET clause.

 

PLS-00385 PLS-00385: type mismatch found at "string" in SELECT...INTO statement
Cause The expressions to the left and right of the INTO clause in a SELECT...INTO statement do not match in datatype, and it is unclear which implicit conversion is required to correct the mismatch.
Action Change the expressions so that their datatypes match. You might want to use datatype conversion functions in the select list.

 

PLS-00386 PLS-00386: type mismatch found at "string" between FETCH cursor and INTO variables
Cause An assignment target in the INTO list of a FETCH statement does not match in datatype with the corresponding column in the select list of the cursor declaration, and it is unclear which implicit conversion is required to correct the mismatch.
Action Change the cursor declaration or change the datatype of the assignment target. You might want to use datatype conversion functions in the select list of the query associated with the cursor.

 

PLS-00387 PLS-00387: INTO variable cannot be a database object
Cause An item in the INTO list of a FETCH or SELECT statement was found to be a database object. INTO introduces a list of user-defined variables to which output values are assigned. Therefore, database objects cannot appear in the INTO list.
Action Check the spelling of the INTO list item. If necessary, remove the item from the INTO list or replace it with a user-defined output variable.

 

PLS-00388 PLS-00388: undefined column "string" in subquery
Cause A subquery contains a column name that was not defined in the specified table.
Action Change the expression to specify a column that was defined.

 

PLS-00389 PLS-00389: table, view or alias name "string" not allowed in this context
Cause A table, view or alias name 'name' corresponding to a regular (non-object) table appeared in an inappropriate context.
Action Remove the reference, or, if you intended to code this as a column reference, fix it as such.

 

PLS-00390 PLS-00390: undefined column "string" in INSERT statement
Cause Check the spelling of the column name, then change the expression so that it refers only to defined columns.
Action Check the spelling of the column name, then change the expression so that it refers only to defined columns.

 

PLS-00391 PLS-00391: undefined column "string" in UPDATE statement
Cause An UPDATE statement refers to a column not defined for the table or view being updated.
Action Check the spelling of the column name, then revise the statement so that it refers only to defined columns.

 

PLS-00392 PLS-00392: Type mismatch in arguments to BETWEEN
Cause In a comparison such as X BETWEEN Y AND Z, the expressions X, Y, and Z do not match in datatype, and it is unclear which implicit conversion is required to correct the mismatch.
Action Change the expressions so that their datatypes match. You might want to use datatype conversion functions.

 

PLS-00393 PLS-00393: wrong number of columns in SELECT...INTO statement
Cause The number of columns selected by a SELECT...INTO statement does not match the number of variables in the INTO clause.
Action Change the number of columns in the select list or the number of variables in the INTO clause so that the numbers match.

 

PLS-00394 PLS-00394: wrong number of values in the INTO list of a FETCH statement
Cause The number of variables in the INTO clause of a FETCH statement does not match the number of columns in the cursor declaration.
Action Change the number of variables in the INTO clause or the number of columns in the cursor declaration so that the numbers match.

 

PLS-00395 PLS-00395: wrong number of values in VALUES clause of INSERT statement
Cause The number of columns in an INSERT statement does not match the number of values in the VALUES clause. For example, the following statement is faulty because no column is specified for the value 20: INSERT INTO emp (empno, ename) VALUES (7788, "SCOTT", 20);
Action Change the number of items in the column list or the number of items in the VALUES list so that the numbers match.

 

PLS-00396 PLS-00396: INSERT statement"s subquery yields wrong number of columns
Cause The number of columns in an INSERT statement does not match the number of columns in a subquery select list. For example, the following statement is faulty because no corresponding column is specified for col3: INSERT INTO emp (ename, empno) SELECT col1, col2, col3 FROM ...
Action Change the number of items in the column list of the INSERT statement or the number of items in the select list so that the numbers match.

 

PLS-00397 PLS-00397: Type mismatch in arguments to IN
Cause In a test for set membership such as X IN (Y, Z), the expressions X, Y, and Z do not match in datatype, and it is unclear which implicit conversion is required to correct the mismatch.
Action Change the expressions so that their datatypes match. You might want to use datatype conversion functions.

 

PLS-00398 PLS-00398: wrong number of columns in UNION, INTERSECT, or MINUS expression
Cause The SELECT clauses to the left and right of a UNION, INTERSECT, or MINUS expression do not select the same number of columns. For example, the following statement is faulty because the select lists do not contain the same number of items: CURSOR my_cur IS SELECT ename FROM emp INTERSECT SELECT ename, empno FROM emp;
Action Change the select lists so that they contain the same number of items.

 

PLS-00399 PLS-00399: different types of columns in UNION, INTERSECT, or MINUS expression
Cause The select lists to the left and right of a UNION, INTERSECT, or MINUS expression select at least one column that is mismatched in datatype. For example, the following statement is faulty because the constant 3 has datatype NUMBER, whereas SYSDATE has datatype DATE: CURSOR my_cur IS SELECT 3 FROM emp INTERSECT SELECT SYSDATE FROM emp;
Action Change the select lists so that they match in datatype. You might want to use datatype conversion functions in the select list of one or more queries.

 

Haut de Page www.dba-ora.fr

Partager cette page

Repost 0
Published by