How to return complex data to PL/SQL pkg from java running in JVM

Hi, I don't know where could I post this question, so I post it here.
In Oracle, we could create object as type, and can pass it to Java (powered by JDBC I guess, but I don't know how to, if some one know, please tell me where could get the good document to teach me about this), but is there any way could return complex data (maybe in Oracle Object Type) to PL/SQL (not using long & seperated by sign string / using middle table)?
If you know, please tell me how to / tell me the url or book name for how to do this, thanks!

with t as (
           select  1 id,'a' type_cd from dual union all
           select  1 id,'a' type_cd from dual union all
           select  1 id,'b' type_cd from dual union all
           select  2 id,'c' type_cd from dual union all
           select 33 id,'b' type_cd from dual union all
           select 33 id,'b' type_cd from dual union all
           select 33 id,'c' type_cd from dual union all
           select 33 id,'d' type_cd from dual union all
           select  5 id,'c' type_cd from dual union all
           select  5 id,'c' type_cd from dual
select  id,
        type_cd
  from  (
         select  id,
                 type_cd,
                 count(distinct type_cd) over(partition by id) cnt,
                 row_number() over(partition by id,type_cd order by 1) rn
           from  t
  where type_cd = 'c'
    and cnt     = 1
    and rn      = 1
        ID T
         2 c
         5 c
SQL>SY.

Similar Messages

  • Is it possible to return a data grid in sql developer from package?

    Hi, I am in need of some help in returning a datagrid rather than just a list from a package. This is my package:
    CREATE OR REPLACE PACKAGE BODY C_1
    as
    PROCEDURE COUNTING1 (C_YEARFROM IN NUMBER, C_TABLE_NAME IN VARCHAR2) is
    yearCount NUMBER;
    c_sql long;
    BEGIN
    execute immediate 'SELECT COUNT(DISTINCT SPECIES) FROM '||C_TABLE_NAME ||' WHERE year >2007' into yearCount;
    dbms_output.put_line('Distinct species count: ' ||yearCount);
    end counting1;
    end c_1;
    Is it possible to get the results of these in a table or data grid in sql developer, e.g. I would like to sort results etc rather than just a flat list? Something a bit more elegant then dbms_output.put_line?
    Thanks

    yes, I copied the wrong code into the example - what I actually want to display in a grid is the following:
    CREATE OR REPLACE PACKAGE RSET_CURSOR IS
    cursor rs_cursor is select species, location from ot;
    r_c rs_cursor%rowtype;
    end;
    create or replace package rset_cursor2
    is
    procedure printSpecies;
    end rset_cursor2;
    create or replace package body rset_cursor2
    is
    procedure printSpecies is
    begin
    open rset_cursor.rs_cursor;
    loop
    fetch rset_cursor.rs_cursor into rset_cursor.r_c;
    exit when rset_cursor.rs_cursor%notfound;
    dbms_output.put_line(rset_cursor.r_c.species);
    end loop;
    close rset_cursor.rs_cursor;
    end;
    end;
    I have also just noticed the list I am getting is only including one column of data where it should include 2, have I omitted something?
    Thanks

  • How to filter complex data using pl/sql

    Hello,
    i have to filter some data from the table with 1millions rows in it.
    here the requirement
    for example table is TEST
    id type
    1 a
    1 a
    1 b
    2 c
    33 b
    33 b
    33 c
    33 d
    5 c
    5 c
    now i just want to display the results which contains type c only if id is with also connected other than c than i dont want to dislplay that results
    so my result will look like .here i dont want to disply id 33 because some the id with 33 are connected with type other than c.
    id type
    2 c
    5 c
    so can please give me idea to make a query on that table
    thanks in advance

    with t as (
               select  1 id,'a' type_cd from dual union all
               select  1 id,'a' type_cd from dual union all
               select  1 id,'b' type_cd from dual union all
               select  2 id,'c' type_cd from dual union all
               select 33 id,'b' type_cd from dual union all
               select 33 id,'b' type_cd from dual union all
               select 33 id,'c' type_cd from dual union all
               select 33 id,'d' type_cd from dual union all
               select  5 id,'c' type_cd from dual union all
               select  5 id,'c' type_cd from dual
    select  id,
            type_cd
      from  (
             select  id,
                     type_cd,
                     count(distinct type_cd) over(partition by id) cnt,
                     row_number() over(partition by id,type_cd order by 1) rn
               from  t
      where type_cd = 'c'
        and cnt     = 1
        and rn      = 1
            ID T
             2 c
             5 c
    SQL>SY.

  • How to find Installation Date for each SQL installation

    Dear All,
    I need a basic info. How to find installation date of each SQL instance (My environment running with multiple standalone/cluster instances)?
    So, I need a query to find installation date easily (I don't want to check it in registry by manual). Thanks in advance...

    Hi Balmukund
    This is the same answer that (1) Prashanth posted
    from the start, letter on (2) Stan posted
    this again with the same link, and now for the third time, (3) you posted it with the same link :-)
    * This answer is correct for specific instance.
    The OP asked a solution for several instances. Therefore he should execute this on each instance. As I mentioned he can do it dynamically on all instances, for example using powershell (basic logic is, first find all instances and than post this query in a
    loop).
      Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]
    Then your answer is correct :)
    Balmukund Lakhani
    Please mark solved if I've answered your question, vote for it as helpful to help other users find a solution quicker
    This posting is provided "AS IS" with no warranties, and confers no rights.
    My Blog |
    Team Blog | @Twitter
    | Facebook
    Author: SQL Server 2012 AlwaysOn -
    Paperback, Kindle

  • Send Datetime2 value to a SQL Procedure from Java using Hibernate

    Hi All,
    I Have a Procedure which takes a parameter of type datetime2.
    The procedure is called from Java Hibernate.
    How can I Pass datetime2 value to SQL procedure from Java?
    Thanks in advance,
    Shraddha Gore

    You may define a global empty array in some package. Then you can do:
    SQL> CREATE OR REPLACE PACKAGE pkg
    AS
       g_empty   DBMS_SQL.varchar2_table;
    END pkg;
    Package created.
    SQL> CREATE OR REPLACE PROCEDURE p (
       p_tuids   IN   DBMS_SQL.varchar2_table "DEFAULT pkg.g_empty"
    AS
    BEGIN
       NULL;
    END p;
    Procedure created.
    SQL> BEGIN
       p ();
    END;
    PL/SQL procedure successfully completed.

  • How can you change data on a SQL 2012 application database that uses availability groups from BizTalk server?

    If you use the WCF-SQL adapter it is recommend that you set UseAmbientTransaction to true if you are changing data. I think this requires MSDTC to be enabled on the SQL server that you are changing the data on. (http://msdn.microsoft.com/en-us/library/dd787981.aspx)
    I think that Availability groups does not support MSDTC. (http://msdn.microsoft.com/en-us/library/ms366279.aspx).
    How can you change data on a SQL 2012 application database that uses availability groups from BizTalk server?

    Hi,
    Yes, Availability groups doesn't support MSDTC. Please refer to the similar discusison which maybe helpfull:
    http://dba.stackexchange.com/questions/47108/alwayson-ag-dtc-with-failover
    http://stackoverflow.com/questions/17179221/msdtc-in-always-on-availability-groups

  • How to export a data as an XML file from oracle data base?

    could u pls tell me the step by step procedure for following questions...? how to export a data as an XML file from oracle data base? is it possible? plz tell me itz urgent requirement...
    Thankz in advance
    Bala

    SQL> SELECT * FROM v$version;
    BANNER
    Oracle DATABASE 11g Enterprise Edition Release 11.1.0.6.0 - Production
    PL/SQL Release 11.1.0.6.0 - Production
    CORE    11.1.0.6.0      Production
    TNS FOR 32-bit Windows: Version 11.1.0.6.0 - Production
    NLSRTL Version 11.1.0.6.0 - Production
    5 rows selected.
    SQL> CREATE OR REPLACE directory utldata AS 'C:\temp';
    Directory created.
    SQL> declare                                                                                                               
      2    doc  DBMS_XMLDOM.DOMDocument;                                                                                       
      3    xdata  XMLTYPE;                                                                                                     
      4                                                                                                                        
      5    CURSOR xmlcur IS                                                                                                    
      6    SELECT xmlelement("Employee",XMLAttributes('http://www.w3.org/2001/XMLSchema' AS "xmlns:xsi",                       
      7                                  'http://www.oracle.com/Employee.xsd' AS "xsi:nonamespaceSchemaLocation")              
      8                              ,xmlelement("EmployeeNumber",e.empno)                                                     
      9                              ,xmlelement("EmployeeName",e.ename)                                                       
    10                              ,xmlelement("Department",xmlelement("DepartmentName",d.dname)                             
    11                                                      ,xmlelement("Location",d.loc)                                     
    12                                         )                                                                              
    13                   )                                                                                                    
    14     FROM   emp e                                                                                                       
    15     ,      dept d                                                                                                      
    16     WHERE  e.DEPTNO=d.DEPTNO;                                                                                          
    17                                                                                                                        
    18  begin                                                                                                                 
    19    OPEN xmlcur;                                                                                                        
    20    FETCH xmlcur INTO xdata;                                                                                            
    21    CLOSE xmlcur;                                                                                                       
    22    doc := DBMS_XMLDOM.NewDOMDocument(xdata);                                                                           
    23    DBMS_XMLDOM.WRITETOFILE(doc, 'UTLDATA/marco.xml');                                                                  
    24  end;                                                                                                                  
    25  /                                                                                                                      
    PL/SQL procedure successfully completed.
    .

  • How to transport the data contains in the table from development to product

    How to transport the data contains in the table from development to production.
    Please let me know ASAP.

    Hello Dilip
    Create a workbench request and add the following entries to the request:
    Object key: R3TR TABU <name of z-table>
    For this object add the following value key:
    - client-independent table: '*'
    - client-dependent table (e.g. client 100): '100*'
    See also: [SAP Network Blog: Transport Table Entries|/people/community.user/blog/2007/01/07/transport-table-entries]
    Regards
      Uwe

  • How to fetch the Date column(or Month column) from the file name from the specified path in ODI 11g

    Hi ALL,
    Can any one help us regarding How to fecth the Date column(or month column) from the file name specified in the path in a generalized way .
    For example :
    file name is :subscribers (Cost) Sep13.csv is specified in the below path
      E:\Accounting\documents\subscribers (Cost) Sep13.csv
    here I need to fetch the "Sep13" as a Date column in the ODI 11g in the generalized way.
    Can any one help us in this case as early as possible.

    I would suggest using a piece of Jython code for this.  Something like this...
    import os
    import os.path
    filelist  = os.listdir(E:\Accounting\documents\)
    for file in filelist:
    datestr = file[19:-4]
    You'd need to work out what to do with datestr next...  perhaps write it to a table or update an ODI variable with it.
    Hope this is of some help.

  • How to isolate the Sql Statement from Java Code

    Hi
    I Need to know that can we segregate the Sql Statements and convert them to Stored Procedures so as to isolate the Sql statements from Java Code.
    So i have one static web page which uses four select Statements so what i want is to create a stored procedure encapsulating these queries. So that the Java Web Developer will simply call the Stored Procedure instead of using four different SQL Statements.
    Suppose the developer has these four Statements
    Select ename,empno,sal,job from emp;
    select empno,ename,mgr from emp;
    select deptno,dname from dept;
    select emp.ename,emp.empno,emp.deptno,dept,dname fromemp,dept;
    So can i encapsulate these four Sql Statements in one Procedure and the Web developer can call the Store procedure and dont need to write the Sql Statements in his code.
    Can Anybody guide me how to write this Stored type of Store procedure.
    Thanks

    http://www.google.com/search?q=java+windows+registry
    Next time, search yourself. It might be beyond your belief, but you're really, really not the first person to wonder about this.

  • Calling SQL packages from java

    How do I call ORACLE sql packages from java?
    We are still using Oracle 7.3. Any sample code
    would be appreciated.

    utility.processPLSQL( connRisk,
    " Begin "
    + " hvar_sum.p_load_var_summary_data("
    + " '" + dfCall.format( priceDate ) + "', "
    + " '" + promptMonth + "',"
    + daysBack + ","
    + aliasType + ","
    + "'" + connRisk.owner + "'"
    + "); "
    + " end ; ",
    "Load VaR Summary Data",
    utility.noLogMsg ) ;
    public boolean processPLSQL(
    MyConnection conn,
    String sql,
    String dataType,
    boolean createLogMessage ) {
    double startTime = conn.log.getStartTime() ;
    try {
    CallableStatement cs = conn.theConnection.prepareCall(sql);
    cs.execute() ;
    cs.close() ;
    conn.theConnection.commit();
    if ( createLogMessage ) conn.log.logTiming( dataType, startTime ) ;
    } catch ( SQLException e ) {
    conn.log.logError( "Utility.processPLSQL; SQLException Error: " + e ) ;
    System.out.println(new java.util.Date().toString() + "; User: " + conn.user
    + "; SQL: " + sql );
    return false ;
    return true ;
    }

  • Calling a PL/SQL function from java

    I would like to call a pl/sql function from java. My pl/sql function is taking arrays of records as parameters. How do i proceed? Which specific oracle packages do I have to import?
    Please send an example.
    TIA,
    Darko Guberina

    Documentation here: http://download-uk.oracle.com/docs/cd/B14117_01/java.101/b10983/datamap.htm#sthref185
    says JPublisher can publish records too.
    But when I change the example given at http://download-uk.oracle.com/docs/cd/B14117_01/java.101/b10983/datamap.htm#sthref190 as following:
    PACKAGE "COMPANY" AS
    type emp_rec is record (empno number, ename varchar2(10));
    type emp_list is varray(5) of emp_rec;
    type factory is record (
    name varchar(10),
    emps emp_list
    function get_factory(p_name varchar) return factory;
    END;
    then I see <unknown type or type not found> at sql or java files generated. Any ideas?

  • Calling oracle SQL Loader from java program

    Hi,
    I want to insert data into oracle tables from a text files containing fixed length fields. I am using SQLLoader to achieve this. The requirement is to call the SQLLoader within the java program.
    Does anyone know how to call SQL Loader from java program?
    Thanks,
    Varsha

    Simply "exec" the sqlldr program with the parameters you need to pass to it.
    Runtime.exec (........)
    Try to pass all parameters needed including the username and password, and use the option "silent" to avoid output, and the option "log" to have a log file of the modifications that sqlldr has done to the database.

  • Error PLS-00306 during calling PL/SQL function from Java

    Hi all,
    I am facing a problem during call of oracle PL/SQL function from java using CallableStatement.
    I receive following error message.
    java.sql.SQLException: ORA-06550: line 1, column 13:
    PLS-00306: wrong number or types of arguments in call to 'EXPORT_HIST_ALARMS_FUNC'
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    As per above error EXPORT_HIST_ALARMS_FUNC in oracle has this signature.
    CREATE OR REPLACE FUNCTION EXPORT_HIST_ALARMS_FUNC(startDateTime VARCHAR2, endDateTime VARCHAR2, meType VARCHAR2) RETURN VARCHAR2 IS
    END EXPORT_HIST_ALARMS_FUNC;
    Above function I have called following way in java.
    String sql = "begin ?:= EXPORT_HIST_ALARMS_FUNC(?, ?, ?); end;" ;
    CallableStatement cStatement = null;
    cStatement = connection.prepareCall(sql);
    cStatement.registerOutParameter(1,Types.VARCHAR);
    cStatement.setString(2,startDateTime);
    cStatement.setString(3,endDateTime);
    cStatement.setString(4,meType);
    cStatement.execute();
    msg = cStatement.getString(1);
    Actually above function requires three input parameters and one return parameter.
    During execution of above java code it throws SQLException and shows PLS-00306: wrong number or types of arguments in call to 'EXPORT_HIST_ALARMS_FUNC' error.
    I have run this function directly from oracle with three parameters and run successfully and finally it returns string.
    But I am unable to figure out why it doesn't run from above java code.
    Please help regarding this.
    Thanks.
    Regards,
    Shardul Banker

    Try this:
    String sql = "begin ?:= EXPORT_HIST_ALARMS_FUNC(?, ?, ?); end;" ;
    CallableStatement cStatement = null;
    cStatement = connection.prepareCall(sql);
    cStatement.registerOutParameter(1,Types.VARCHAR);
    cStatement.setString(1,startDateTime);
    cStatement.setString(2,endDateTime);
    cStatement.setString(3,meType);
    cStatement.execute();
    msg = cStatement.getString(1);Regards,
    Martijn Teigeler
    Edited by: mTeigeler on Oct 13, 2007 10:22 AM

  • Connect to MS Sql Server from Java Source

    Hi,
    Is there any way I could connect to ms sql server from Java source? I know I can call java source from function thats easy but what I really want is capability to connect to non-oracle(MS SQL server) from my java source and then call it from function.
    I don't know if JDBC driver for SQL server is even installed/available. Is there a way I could find it out form my IDE? I know sqlJ does compile but I have never used sqlj. help!!!
    Sinha

    You'll probably have better luck in a Java forum or a Microsoft forum.

Maybe you are looking for

  • HT201441 How can I take someone's account off my phone if they don't remember the password or email address used to set it up?

    I lent my iphone 4s to a friend who set it up with his Icloud and when I tried to do deactivate the phone so I could start using it again with my Icloud It now asks for the previous persons email adress and password. He now can remeber either and we

  • Unable to connect to internet on ALL computers

    I am having difficulties connecting to my wireless internet through my computer. When I select the network it comes up with a box asking me for my WEP password. Once I enter it, it says "Connection Timeout". This is happening to four different macboo

  • Not set userName and password in system.prefs for 2.2.5

    We are using KODO 2.2.5 right now and We have business requirement that we should not keep database user name and password in system.prefs. I followed the instructions that you wrote in Feb 12 2002 post. But it still has the error that exactly like B

  • Argh, lost data, can someone help

    A week ago or so I updated to the iOS 4 on my iPhone 3GS. Pretty smooth update, everything seemed to be working, expect I had zero data services. Email, web, etc, all down. Voicemail did not work, SMS did, but MMS did not. I am on AT&T. I did some go

  • Upload Best Practices in SolMan

    Hello forum, Please can one of you explain me how to upload Best Practices in Solution manager? I would like to upload the WholeSale Distribution package V1.600. I need to know where I can find this package and then how to upload it? Thanks in advanc