Need to call a recursive SP from Java code

I have a table with parent child relationships as:
CREATE TABLE parent_child
parentid NUMBER,
childid NUMBER
Each child can have more than one parents. Now for a given child i need to find all the parents. My solution is a stored procedure as follows:
CREATE OR REPLACE PROCEDURE Sp_Getparents(child_id IN NUMBER)
IS
     CURSOR parents IS
SELECT parentid FROM PARENT_CHILD WHERE PARENT_CHILD.childid = child_id;
BEGIN
FOR parents_cur IN parents LOOP
DBMS_OUTPUT.PUT_LINE(parents_cur.parentid);
     Sp_Getparents(parents_cur.parentid);
END LOOP;
END Sp_Getparents;
This prints the non-distinct values fo all parents to a value.
Now my problem starts when i wish to access the result of this SP from my java code.
For that i have no idea if a DBMS_OUTPUT will give me a resultset or not. If not, then what is the way to do so. I tried creating a REF CURSOR for the same, but was not able to test the result out on sqlplus.
Can anyone help me on this?
Thanks in advance
Pankaj

You need to return a refcursor like this (9i and up)
CREATE OR REPLACE
FUNCTION sp_getparents(child_id IN NUMBER) RETURN SYS_REFCURSOR
IS
  c SYS_REFCURSOR;
BEGIN
  OPEN c FOR
    SELECT parentid
    FROM parent_child
    WHERE parent_child.childid = child_id;
  RETURN c;
END sp_get_parents;
show errorsif you want to test this in SQL*Plus:
var c refcursor;
exec :c := sp_getparents(3);
print c;hope this helps
chet

Similar Messages

  • Need to call webservice WSDL directly from Java code

    Hi All,
    I hope u all are doing great.
    I am new to web services and i have a requirement where i need to call the webservice directly from the java code, we dont need any middle layer(via proxy n all).
    Can you all please help me on this, we are using Jdeveloper 11g and we do have WSDLs
    we shld be able to use the wsdl in code and pass the request and get the request
    Any help will be appreciated
    Thanks

    @Puthanampatti     
    Thanks, but i already went through this link and seems this link also says we need to access webserivice through stub,dii etc.
    I want straught java code to access webservice without any tier in between
    Thanks

  • I need to call a batch file from java and pass arguments to that Batch file

    Hi,
    I need to call a batch file from java and pass arguments to that Batch file.
    For example say: The batch file(test.bat) contains this command: mkdir
    I need to pass the name of the directory to the batch file as an argument from My Java program.
    Runtime.getRuntime().exec("cmd /c start test.bat");
    How to pass argument to the .bat file from Java now ?
    regards,
    Krish
    Edited by: Krish4Java on Oct 17, 2007 2:47 PM

    Hi Turing,
    I am able to pass the argument directly but unable to pass as a String.
    For example:
    Runtime.getRuntime().exec("cmd /c start test.bat sample ");
    When I pass it as a value sample, I am able to receive this value sample in the batch file. Do you know how to pass a String ?
    String s1="sample";
    Runtime.getRuntime().exec("cmd /c start test.bat s1 ");
    s1 gets passed here instead of value sample to the batch file.
    Pls let me know if you have a solution.
    Thanks,
    Krish

  • How to call a .bat file from java code?

    How to call a .bat file from java code? and how can i pass parameters to that .bat file?
    Thanks in advance

    thanks for ur reply
    but still i am getting the same error.
    I am trying to run a .bat file of together tool, my code looks like below
    import java.lang.Runtime;
    import java.lang.Process;
    import java.io.File;
    class SysCall{
         public static void main(String args[]){
              String cmd="D://Borland//Together6.2//bin//Together.bat -script:com.togethersoft.modules.qa.QA -metrics out:D://MySamples//Metrics// -fmt:html D://Borland//Together6.2//samples//java//CashSales//CashSales.tpr";
              //String path="D://Borland//Together6.2//bin//Together.bat ";
              Runtime r= Runtime.getRuntime(); //Declare the system call
              try{
                   System.out.println("Before batch is called");
                   Process p=r.exec(cmd);
                   System.out.println(" Exit value =" + p.exitValue());
                   System.out.println("After batch is called");
              /*can produce errors which must be caught*/
              catch(Exception e) {
                   e.printStackTrace();
                   System.out.println (e.toString());
    I am getting the below exception
    Before batch is called
    java.lang.IllegalThreadStateException: process has not exited
    at java.lang.Win32Process.exitValue(Native Method)
    at SysCall.main(SysCall.java:17)
    java.lang.IllegalThreadStateException: process has not exited

  • Calling a javascript function from java code and getting tha value in Java

    Hi,
    I would like to call a Java script function confirmRemove() from Java code upon meeting a condition..
    for example the code snippet is:
    if(true){
    // I want to call js confirmRemove() over here. And get the value of variable "answer" in this if block.
    <html>
    <head>
    <script type="text/javascript">
    function confirmRemove() {
         var answer = confirm("Are you sure you want to Delete?")
    </script>
    </head>
    <body>
    <form>...

    Hi,
    Back in 2003 I have used an Applet which contain java code and this java code was calling the java scripts ( different methods, DHTML etc..)
    There was a component developed by NetScape called JSObject I am not sure it there is other third party component other then the JSObject
    look at this article which shows how (based on JSObject)
    [http://java.sun.com/products/plugin/1.3/docs/jsobject.html|http://java.sun.com/products/plugin/1.3/docs/jsobject.html]
    Regards,
    Alan Meio
    London,UK

  • Calling a C-exe from java code

    I have an executable in C which would be located on a server while my java code resides on many clients. I have to call and execute the C code on the server. For this I need to send some input to the C code and receive output back (as strings) to java on the client. (I cannot use JNI since C code should be available as shared libraries for this).
    Would anybody be able to help me out how to go about doing this ?

    Hi there
    Hm! have you thought of using RMI
    By doing so you can create a server program
    that calls the dll / exe
    All you clients calls the server that in his/her turn calls the C program and fetches the output and sends it back to who ever made the call.
    More info about the RMI can be found at
    www.jguru.com
    //Markus

  • Cannot call the execute command from java code

    Hello,
    I like to add a new user via a java web service.
    Establishing a connection to the OC4J MBean server is no problem. I also can execute the commands 'listAllCommands' and 'help' on the MBean. But if i try to call the execute command, i always get an NoSuchMethodException. Looking at the MBeanInfos 'execute' is listed there as an operation.
    Can anyone explain this to me?

    Hi,
    I basically used the code described at http://download.oracle.com/docs/cd/B32110_01/web.1013/b28952/mbeans.htm#CIHFDJBJ to connect to the MBeanServer.
    To invoke 'execute' i used
    MBeanServerConnection con= jmxCon.getMBeanServerConnection();
    con.invoke(new ObjectName(MBEAN_NAME), "execute", new Object[] { COMMAND }, new String[] {});
    where MBEAN_NAME is the ObjectName of the CommandService MBean and COMMAND is a String like "identity add ..."

  • How to send sms from java code

    hi
    I have involved in a project where I need to send sms to mobile from java code.Can anyone help me.if u have code please send me.
    thanks
    dhinesh

    Hi,
    there are several methods to do so but using Web Services is an easier one. Google will help you to find a provider. (E.x. http://www.remotemethods.com/home/communic/sms .)
    Best wishes,
    Christian Ullenboom | http://www.tutego.com/

  • Running sqlplus scripts from Java code?

    hi
    I need to programmatically run sqlplus scripts from Java code on a machine that doesn't have sqlplus installed.
    Is there any Java class library available for doing this?

    The Ant approach could probably work for me, thanks for the tip.
    The setup seems rather complex however, given the simplicity of the task. I would prefer just running a Java based SQL*Plus from in a separate process or doing this via an API that would allow me to run SQL*Plus scripts (parse script, substitute variables, run statements).
    Oracle SQL Developer v1.1 appears to include an API that does exactly this.
    The ScriptParser, Substitution and SQLPLUS classes in the oracle.dbtools.raptor.scriptrunner package (oracle.sqldeveloper.jar) seem to do just what I need based on my tests.
    Can I use these classes for this purpose in my application? Is repackaging allowed?
    Does Oracle have any plans for releasing this sort of functionality separately e.g. as part of the Instant Client?

  • Calling a Web Service from Java

    Our java guru (who is out sick....AHHHH) created all the calls that are needed to access the web service that he has running. For example the call getLongList(String user, String password) will return a list of all outstanding transactions. He made a jar file that has service has class files for PortType, Service, Service Locator and Soap Binding stub.
    How do I call this web service from java? Do I have to import it into my classpath? or just call these parameters from within my java code?

    never mind...i got it

  • Calling PL/SQL Procedures from Java

    Hello,
    I want to know, if it is possible to call PL/SQL Procedures from
    SQLJ(which uses htp.print from the Package web toolkit ).
    Though, it is possible to call normal procedures but if I want
    to call PL/SQL procedures with htp.print then I get I error.
    For example:
    #sql{Call html_test()};
    Can you give me a advice?
    Your help is much appreciated!
    M|ller

    Oracle's htp packages are develop to be work with
    mod_plsql/OAS/OWS webserver.
    If you are trying to use htp packages first need to instanciate
    some enviroment vars for htp packages, for example first you has
    to call to owa.initialize procedure, populate owa.cgi array and
    so on.
    If you need more information about how this toolkit works you
    could get the source of DB Prism at
    http://www.plenix.com/dbprism/ this open source framework
    includes backward compatibility with mod_plsql application and
    then includes settings of this values from Java code.
    Best regards, Marcelo.

  • Can I call a C function from Java (using JNI) ??

    hello,
    I need to call one C function from remote device and get its return value(o/p) (for my application it is device SSID ) and display in the client PC.
    Is it possible in java without using SNMP connction?.
    please give me idea about it.
    I need this information as soon as possible.
    Thank you.

    see JNI...
    basically declare a native method in your java class, then run javah on the class thus generating a *.h file. Then implement the c/c++ function. Compile the c/c++ part as a shared library, and make sure its accessible from your LD_LIBRARY_PATH env variable.
    Go through the steps in the JNI docs, and things shoulde be fine... hopefully ;)

  • How do I call a C++ program from Java?

    I've tried using Runtime.exec to call my C++ program from Java but I don't think I'm doing it correctly. Could someone explain how to properly use it? Here's what I'm trying (this is in an applet that is only going to be running on an intranet so only PCs in my LAN will be affected):
    Runtime runtime=runtime.getRuntime();
    Process proc =runtime.exec("mkdir C:\\Test");

    What do you expect your operating system should do with a command "mkdir"? It doesn't understand this. "mkdir" is a shell command, so you need to execute the shell:
    runtime.exec("cmd /c mkdir C:\\test");

  • Calling MS Access queries from Java

    Anyone have any idea if it's possible to call MS Access queries from Java? I have a client who is insistent on keeping MS Access for their database, and it'd be nice if I didn't have to receate all their queries in Java.
    I've successfully connected to and queried the Access MDB, but I need to know if it's even possible to execute the stored MS Access queries they have setup in the database.
    Thanks!

    See reply 6 in the following....
    http://forum.java.sun.com/thread.jspa?forumID=48&threadID=203818

  • How to call a VB application from Java

    Hi,
    does anybody know how to call a VB application from java.
    Would appreciate if you can provide me with an example.
    thanks

    try exec()ing the cad program with the name of the file as a command line parameter...
    Runtime.getRuntime().exec("CADProg.exe Test.prt");
    i have no clue if this will work but it seems like it's worth a try.

Maybe you are looking for

  • If a new apple id sign in.what will happen to the old apple id if you erase or reset the phone?

    I buy a new iphone 5s and the store open it and put his apple id to download some stuff.. And after that i try to make my own apple id. What will happen if i erase all data and it is in need of apple id.. Will it be the old apple id or my apple id??

  • SRM-MDM integration

    We have SRM 5.0 being integrated with MDM5.5 for catalog management. The business requirement is to have some relationship between catalog items like Bill of Materials, Sales Kits, Substitutes and Related Items etc. which MDM2.0 suports. We would lik

  • SH: compare and remove found instances

    Forewarning: I'm a scripting beginner and haven't posted in this section before and hope I can describe this properly. Also I'm trying to accomplish this in shell (be it sh, bash, or zsh)... Yes, well, basically I'm trying to compare output2 to outpu

  • Dependency between Sun Cluster 2.2 and Sun hardware ?

    I am evaluating Sun Cluster 2.2 for the usage as clustering software within our project. Can anybody say me, if there is a dependency between Sun Cluster 2.2 and Sun hardware ? Can I use Sun Cluster 2.2 with other hardware platforms running Sun Solar

  • Should this be happening?

    I was playing my electric guitar through a cable connected to my iPod Touch 5, and I had Garage Band freeze on me. I didn't need to do a reset with my iPod Touch 5, though. I just simply quit the app and reopened it. It doesn't crash ALL the time, bu