I'll give a general overview of what is happening and if you need the code, just let me know.
I have an Oracle 8.1.7 database with a procedure contained within a package. I have a VB COM object calling this procedure with one input parameter (string in VB, varchar2 in oracle). The COM object receives the string from an html form ... there are form elements with the same name, so the value of the element is delimited by commas (ie, 308, 309, etc). The purpose is to use a delete statement that looks like this:
delete from table where column in (param);
Where the param = 308, 309
Unfortunately, I get an invalid number error whenever there are multiple numbers (it works fine if I only send 308). There is no trace available on the database, so I can't see what's actually being executed, but does anyone have any ideas why this wouldn't work? If I skip the procedure and execute the same sql statement from ASP, it works fine ... and I know for sure the concept is valid.
If this is not possible (for whatever reason), my options are to split the comma delimited value into multiple numbers and call the delete statement multiple times, or to only allow deleting one record at a time. I would like to keep the functionality the same, so if anyone can tell me of a "split" function in PL/SQL, I would greatly appreciate it. so far I have not found one.