Home » SQL & PL/SQL » SQL & PL/SQL » ORA-00931: missing identifier ORA-06512: at "SYS.DBMS_UTILITY", line 79
- ORA-00931: missing identifier ORA-06512: at "SYS.DBMS_UTILITY", line 79 [message #3768] Thu, 17 October 2002 01:39 Go to next message
Conor
Messages: 3
Registered: October 2002
Junior Member
I am using the comma_to_table listing have you any idea why I might be getting this :
BEGIN
*
ERROR at line 1:
ORA-00931: missing identifier
ORA-06512: at "SYS.DBMS_UTILITY", line 79
ORA-06512: at "SYS.DBMS_UTILITY", line 108
ORA-06512: at "QPI.SPCOMMATOFILETBLUSERSITES", line 7
ORA-06512: at line 2

when I try running the comma to table stored procedure while not passing in "s" it works ok, however when I try passing in "s" I get errors in my SQL*Plus worksheet application ?
This is what I use to run stored proc :
set serveroutput on;
BEGIN
spcommatofiletblusersites('1,2,3,44,5');
END;

This is the stored procedure :
PROCEDURE "SPCOMMATOFILETBLUSERSITES" (sa IN VarChar2)
IS
s varchar2(30) := sa;
a dbms_utility.uncl_array;
len integer;
begin
dbms_utility.comma_to_table(replace(s, ',', ','), len, a);
for i in 1..a.count loop
dbms_output.put_line( a(i) );
end loop;
end;

New info : The stored procedure runs when I put double quotes around each character in the string like below :
set serveroutput on;
BEGIN
spcommatofiletblusersites('"1","2","3","4","5"');
END;
Output :
"1"
"2"
"3"
"4"
"5"
PL/SQL procedure successfully completed.
But this is no use to me as I will be using a comma seperated file with
possibly 000's of elements so the file cannot be updated to incl " " around
each element.

Any Ideas ?
- Re: ORA-00931: missing identifier ORA-06512: at "SYS.DBMS_UTILITY", line 79 [message #3770 is a reply to message #3768] Thu, 17 October 2002 02:28 Go to previous messageGo to next message
Conor
Messages: 3
Registered: October 2002
Junior Member
spcommatofiletblusersites('a,dd,g') works perfectly. It is only when string consists of numbers that problem occurs and unfortunately mine have to be made up of numbers, any ideas ???
- Re: ORA-00931: missing identifier ORA-06512: at "SYS.DBMS_UTILITY", line 79 [message #3775 is a reply to message #3768] Thu, 17 October 2002 06:52 Go to previous messageGo to next message
Mahesh Rajendran
Messages: 10708
Registered: March 2002
Location: oracleDocoVille
Senior Member
Account Moderator
try passing a default values that start with letters.
then overwrite that with your input.
Becuase when a variable list passed to comma_to_table it should start with a letter
- Re: ORA-00931: missing identifier ORA-06512: at "SYS.DBMS_UTILITY", line 79 [message #3779 is a reply to message #3768] Thu, 17 October 2002 09:07 Go to previous messageGo to next message
Todd Barry
Messages: 4819
Registered: August 2001
Senior Member
Conor, unfortunately the built-in COMMA_TO_TABLE routine is very specific about the tokens it will parse correctly. It is not a general-purpose method (which many of us have learned the hard way).

If you want a routine that correctly parses any strings you pass in, you will need to roll your own version of this function.
- Re: ORA-00931: missing identifier ORA-06512: at "SYS.DBMS_UTILITY", line 79 [message #4762 is a reply to message #3768] Mon, 13 January 2003 08:47 Go to previous message
James Bean
Messages: 1
Registered: January 2003
Junior Member
Try using a tab-delimted file instead of a comma-delimited file.
Previous Topic: Calculator
Next Topic: Tools to cehck the sql query time
Goto Forum:
  


Current Time: Sun Jun 29 14:52:28 CDT 2025