Pls-00801 Internal Error 10902
Contents |
phdcsql_print_kge_errors::parm pos is just an example that can be replcaed with any other undecipherable set characters. Oracle's official error description is: Cause: This is a generic internal error that might occur during compilation or execution. The first parameter ora-06544 pl/sql internal error arguments is the internal error number. Action: Report this error as a bug to your
Pls-00801: Internal Error [hshuid:lu Invalid]
Customer Support representative. While it might be very tempting to contact Oracle Support, many users will prefer to try and solve
Pls 00801 Internal Error Phdite Node Kind
the problem without opening a service request and waiting for an answer. Basically, what this error means is that there is a problem with this query but Oracle is having problem describing the error. The
Pls-00801: Internal Error [ph2csql_strdef_to_diana:bind]
result is a generic (and not really helpful ) error message. Like any generic error description, many reasons can cause the problem. The only solution is trying to identify the problem yourself by trial and error. Copy the query part of the code to a separate window and try to tweak it without changing the basics: change tables order, change aliases names, comment what you can or run it without variables. Even if this will not solve the problem, sometimes this can provide a more informative error message. Using this method I have found several issues that caused pls-00801 internal error. I am writing a few in order to provide some list of things that can cause this error: 1) The query used a remote database using a db link and the database link user did not have proper permissions. 2) Extra not visible control characters that were added to the code during a problematic copy-paste from the web or from Word. 3) Extra characters that might have different meaning in oracle like:&,",_ etc. 4) Extra spaces 5) Invalid objects on remote database 6) Several known Oracle bugs (search metalink for the error) 7) An error on a remote database can not be displayed. 8) Your entry here … Of course, there are countless other reasons for pls-00801. If you encounter any other reason please share it in the comments to help others. This entry was posted in Uncategorized and tagged Oracle error, phdcsql_print_kge_errors, PLS-00801 on June 11, 2015 by Asaf Tal. Post navigation ← Why is Oracle query not using my index? A cheklist Can you move a table between schemas ? → One thought on “PLS-00
here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site About Us Learn more about Stack Overflow the company Business Learn more about hiring developers or posting ads with us Stack Overflow Questions Jobs Documentation Tags Users Badges Ask Question x Dismiss Join the Stack Overflow Community Stack Overflow is a community of 6.2 million programmers, just like you, helping each other. Join them; it only takes a minute: Sign up Error: PLS-00801: internal error [*** ASSERT at file pdw4.c up vote 0 down vote favorite http://dbtricks.com/?p=278 CREATE OR REPLACE procedure abc IS TYPE abc is table of varchar2(200); v_nt abc; BEGIN select 'update emp_test set ename=''gaurav'' ' bulk collect into v_nt from emp; forall i in v_nt.first..v_nt.last execute immediate v_nt(i); END; / Hi i am creating the above procedure and getting compile time error as shown below: Compilation errors for PROCEDURE SCOTT.ABC Error: PLS-00801: internal error [*** ASSERT at file pdw4.c, line 586; Unknown expression Expr = http://stackoverflow.com/questions/10014519/error-pls-00801-internal-error-assert-at-file-pdw4-c 283.; ABC__SCOTT__P__53497[11, 1]] Line: 11 Text: execute immediate v_nt(i); How can i resolve this ,as i need to do this transaction in bulk. oracle plsql oracle11g share|improve this question asked Apr 4 '12 at 15:39 Gaurav Soni 3,86463259 2 The update statement looks very suspicious. It looks like you're trying to update every row in emp_test with the same ename, and you want to run this update once for each row in the emp table. In other words, if there are 10 emp records, you're going to update all 10 records, x 10 times each, all to the same value. –Jeffrey Kemp Apr 5 '12 at 2:39 add a comment| 1 Answer 1 active oldest votes up vote 1 down vote The below should work CREATE OR REPLACE procedure abc IS TYPE abc is table of varchar2(200); v_nt abc; BEGIN select 'gaurav' bulk collect into v_nt from emp; forall i in v_nt.first .. v_nt.last execute immediate 'update emp_test set ename=:1' using v_nt(i); END; / Although the below also achieves the same result CREATE OR REPLACE procedure abc IS BEGIN execute immediate 'update emp_test set ename=''gaurav'' '; END; / share|improve this answer answered Apr 13 '12 at 11:13 psaraj12 2,18011022 :that i know ,but from the above sel
(categoria / label 'Pessoal') Parte Técnica / Technical Posts (categoria / label 'Oracle Blues') 2011-01-26 Error: PLS-00801 Today (using Oracle 11.2.0.1.0 ) I got this error when compiling a pl/sql package:
PLS-00801: internal error [phdcsql_print_kge_errors::parm pos]
PL/SQL: Statement http://oracleblues.blogspot.com/2011/01/error-pls-00801.html ignored
ORA-00900: invalid SQL statement
The description for PLS-00801: internal error [string] says:
Cause: This is a generic internal error that might occur during compilation or execution. The first parameter is the internal error number.
Action: Report this error as a bug to your Customer Support representative.
Ok! I stopped for some seconds. "The problem happened after I edit the package body and changed an SQL internal error expression so lets try to comment that changed section" It compiled! I look then in the changed code and there was a mention to an object that was not installed in the schema... So I installed the object...uncomment the changes and it worked! I think that for some reason (parser bug?) the pl/sql parser didn't gave the correct error when compiling and I got the PLS-00801 error. I hope that this "bug" tracking/ pls-00801: internal error resolution works for other PLS-00801 situations. Have a great time coding! Email ThisBlogThis!Share to TwitterShare to FacebookShare to Pinterest Categorias / Labels: Oracle Blues, Oracle Bug, Oracle DB, PL/SQL No comments: Post a Comment Os comentários são moderados.The comments are moderated. Newer Post Older Post Home Subscribe to: Post Comments (Atom) Search Blog Autor / Author Filipe Silva View my complete profile Artigos Populares / Popular posts User Enable Editions troubles and solutions 11g Release 2 (11.2.0.2) new UTL_SMTP feature:TLS/SSL How to check the pl/sql web output PLS-00907 strange situation ORA-600: kqd-objerror$ NUMBER(38) versus INTEGER Escrever o mesmo por outras palavras Is NVL really slower? Oracle 11R2 Editionable Objects Contar o número de registos em todas as tabelas Últimos posts /Latest Posts Categorias / Labels Apex (31) Best Practices (22) Bug (29) Canções infantis (14) critico (72) desabafos (33) Error Manager (8) Escutismo (40) Filmes (35) Jogos (11) Leituras (46) mod_plsql (22) Música (128) Non-Oracle (26) Oracle Bug (15) Oracle DB (148) Para pensar (58) PL/SQL (207) Portugal (15) Rir (93) ser pai (42) SQL Navigator (28) Tradução (19) TV (17) U.Porto (12) WWW (29) Arquivo / Archive ► 2015 (2) ► April (2) ► 2014 (2) ► December (1) ► August (1) ► 2012 (7) ► July (2) ► May (1) ► March (1) ► February (3)