Help with simple PL/SQL package

Hi, I'm trying to create a simple PL/SQL package to loop over a list of names and do some fuzzy pattern matching to attempt to clean up the data. Unfortunately..I don't know anything about PL/SQL, and hitting problems getting this to work. Could someone lend a hand?
p.s.
table TMP_UTL_MATCH_INPUT has a list of names to attempt matching in column called CLEAN_MERCHANT
table TMP_UTL_MATCH_OUTPUT should hold the original input row # and value, a matching output row # and value, and calculated edit_distance and jaro_winkler similaritise
table TMP_UTL_MATCH_STATUS is simply updated after each value so I can track how far in the process it's gotten (I suspect this algorithm will take a long time....)
Thanks in advance for any help!
Scott
create or replace
PROCEDURE "PROCESS_UTL_MATCH_DATA"("START_ROW" IN INTEGER DEFAULT 1) IS
--initialize variables here
num_rows integer;
edit_distance_similarity number;
jaro_distance_similarity number;
-- main body
BEGIN
select count(*) into num_rows from tmp_utl_match_input;
declare name_array as varray(num_rows) of varchar2(40);
select clean_merchant into name_array from TMP_UTL_MATCH_INPUT;
truncate table tmp_utl_match_status;
insert into tmp_utl_match_status values (0);
FOR i in 1..num_rows-1 LOOP
FOR j IN i+1..num_rows LOOP
edit_distance_similarity = utl_match.edit_distance_similarity(name_array(i), name_array(j));
jaro_winkler_similarity = utl_match.jaro_winkler_similarity(name_array(i), name_array(j);
if (edit_distance_similarity > 50 or jaro_winkler_similarity > 50)
then
insert into tmp_utl_match_output values (i, name_array(i), j, name_array(j), edit_distance_similarity, jaro_winkler_similarity);
END IF;
END LOOP;
update tmp_utl_match_status set current_row_num = i;
commit;
END LOOP;
EXCEPTION
WHEN OTHERS THEN
NULL; -- enter any exception code here
END;

If you would not defeat Oracle's ability to tell you what errors the procedure may raise, it could help you debug this easier. Do that by deleting or commenting out the EXCEPTION.
Another issue I see is you're trying to call a DDL statement directly. You cannot truncate a table directly. Instead you need to use EXECUTE IMMEDIATE.
Another issue I see is you have a DECLARE statement that has statements following it that are not declarations. Once your declarations are done, you need a BEGIN followed by code followed by END. Either that, or put your "name_array as varray(num_rows) of varchar2(40);" statement above your BEGIN.
It would also help to list your version of Oracle, and any errors you've received so far. Arm us with the same information you have, it makes it easier for us to help you.
Plus, put \ tags around your code, that will preserve the formatting.
Such as:
SELECT column1,
       column2,
       column3
  FROM some_table
WHERE column1 > 1000
   AND column2 IS NOT NULL:
as opposed to:SELECT column1,
column2,
column3
FROM some_table
WHERE column1 > 1000
AND column2 IS NOT NULL:
Edited by: Starlight Rider on May 5, 2011 1:04 PM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

Similar Messages

  • Pl help with simple pl/sql quey

    Hi ,
    I am getting stuck with this simple pl/sql query , can anyone pl help me with this.
    This is the query i have,
    select ia.deal_id, actual_clear_dt
    from inc_site_freq isf
    join INC_ASSET ia on isf.inc_asset_id = ia.inc_asset_id
    and freq in (866.0125, 866.5125, 867.0125, 867.5125, 868.0125)
    and deal_id=21363
    the above query displays data of about 10 rows which may or may not have combination of null and dates for actua_clear_dt.
    if its a combination of null and dates then all the actual_clear_dt should be null
    if it has only dates should display all dates
    Please help. Thanks.

    Vin wrote:
    Hi ,
    I am getting stuck with this simple pl/sql query , can anyone pl help me with this.
    This is the query i have,
    select ia.deal_id, actual_clear_dt
    from inc_site_freq isf
    join INC_ASSET ia on isf.inc_asset_id = ia.inc_asset_id
    and freq in (866.0125, 866.5125, 867.0125, 867.5125, 868.0125)
    and deal_id=21363
    the above query displays data of about 10 rows which may or may not have combination of null and dates for actua_clear_dt.
    if its a combination of null and dates then all the actual_clear_dt should be null
    if it has only dates should display all dates
    Please help. Thanks.A little indention/formatting would help you see and comprehend it better, and including the { code } tags when posting here would help US see and comprehend it better:
    select
      ia.deal_id,
      actual_clear_dt
    from
      inc_site_freq isf
    join INC_ASSET ia
      on isf.inc_asset_id = ia.inc_asset_id
      and freq in (866.0125,
                   866.5125,
                   867.0125,
                   867.5125,
                   868.0125)
      and deal_id=21363

  • Please help with dynamic pl/sql

    Trying to write a generic pl/sql package that can be used on any table I specify at runtime. The procedures are simple and there are only two. I don't understand advanced pl/sql enought to write it myself dynamically. Could someone please give me ideas on this? Because I don't know the syntax of dynamic pl/sql, books aren't helping much with a project I have due tomorrow :)

    Yes, it will all be done at the same time, but I would like them to be able to run independent of each other in case i want one and not the other and vice versa. In procedure 1, the only thing to be done is to get the text in column_1 of tableA to column_1 in tableB.
    I have a regular procedure for procedure 1 that I think will work:
    CREATE OR REPLACE PROCEDURE UPDATE_COLUMN_1
    IS
    v_column_1 tableB.column_1%TYPE;
    v_name tableC.name%TYPE;
    CURSOR c_name_column_1 IS
    SELECT column_1, name from tableA;
    BEGIN
    OPEN c_name_column_1;
    LOOP
    Fetch c_name_column_1 INTO v_column_1, v_name;
    EXIT WHEN c_name_column_1%NOTFOUND;
    UPDATE tableB
    SET column_1 = v_column_1,
    lst_updt = sysdate,
    updt_by = 'anna'
    WHERE name = v_name;
    END LOOP;
    CLOSE c_name_column_1;
    END UPDATE_COLUMN_1;
    My main email is in my husband's name. I will get it faster than my hotmail account. [email protected]

  • Designer 9.0.2.7 - problems with capturing PL/SQL packages

    Hello,
    I would appreciate any help regarding the following issue:
    We tried to capture in Designer 9.0.2.7 the existing PL/SQL packages from an Oracle 9i database and we have met some problems.
    Even the package has a body containing two public procedures, when capturing, the Designer generates warnings that say the PL/SQL package body is empty. Therefore, the Designer capture the body content and write it in the PL/SQL Block of the PL/SQL Definition property, but the content of the body is preceded with the " character.
    This makes problem when generating the "ddl" for the package (the package is not created correctly in the DB).
    In addition, when generating the "ddl", the "END package_name" is added twice.
    Other problem is that the package specification information from Designer is just "END package_name;"
    For some of the packages containing only a list of public procedures, without any other variables declarations, the Designer does not capture these procedures as separate subprograms in the package definition, as it does other times. In this case, the package body is entirely captured in the PL/SQL Block and with the " character before content.
    Is it some settings that can be done or some rules about the format of the PL/SQL procedures in order for Designer to capture all packages in same manner and correctly?
    Thank you,
    Claudia

    Hi Keith,
    I am connecting to the database as the package owner..
    I have noticed earlier that I have problems when capturing triggers also.. The content of one large trigger contains 36371 characters and when capturing it from DB, the content was truncated to 28020 characters in Designer.
    Our ideas with capturing the DB packages/procedures were to use the Designer as version control system.
    We wanted to have all objects used in a project in Designer.. entities, tables, triggers, packages, procedures, Forms files, etc. in order to make a configuration for a project release.
    Thank you,
    Claudia

  • Urgent help with simple BPEL process for reading data from database

    Hello there,
    I need help with BPEL project.
    i have created a table Employee in Database.
    I did create application, BPEL project and connection to the database properly using Database Adapter.
    I need to read the records from the database and convert into xml fomat and it should to go approval for BPM worklist.
    Can someone please describe me step by step what i need to do.
    Thx,
    Dps

    I have created a table in Database with data like Empno,name,salary,comments.
    I created Database Connection in jsp page and connecting to BPEL process.
    It initiates the process and it goes automatically for approval.
    Please refer the code once which i created.
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@page import="java.util.Map" %>
    <%@page import="com.oracle.bpel.client.Locator" %>
    <%@page import="com.oracle.bpel.client.NormalizedMessage" %>
    <%@page import="com.oracle.bpel.client.delivery.IDeliveryService" %>
    <%@page import="javax.naming.Context" %>
    <%@page import="java.util.Hashtable" %>
    <%@page import="java.util.HashMap" %>
    <%@ page import="java.sql.*"%>
    <%@ page import= "jspprj.DBCon"%>
    <html>
    <head>
    <title>Invoke CreditRatingService</title>
    </head>
    <body>
    <%
    DBCon dbcon=new DBCon();
    Connection conn=dbcon.createConnection();
    Statement st=null;
    PreparedStatement pstmt=null;
    Hashtable env= new Hashtable();
    ResultSet rs = null;
    Map payload =null;
    try
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
    env.put(Context.PROVIDER_URL, "opmn:ormi://localhost:port:home/orabpel");//bpel server
    env.put("java.naming.security.principal", "username");
    env.put("java.naming.security.credentials", "password");//bpel console
    Locator locator = new Locator("default","password",env);
    IDeliveryService deliveryService =
    (IDeliveryService)locator.lookupService(IDeliveryService.SERVICE_NAME );
    // construct the normalized message and send to Oracle BPEL Process Manager
    NormalizedMessage nm = new NormalizedMessage();
    java.util.HashMap map = new HashMap();
    st=conn.createStatement();
    out.println("connected");
    String query1="Select * from EMPLOYEE";
    rs=st.executeQuery(query1);
    /*reading Data From Database and converting into XML format
    so that no need of going to BPEL console and entering the details.
    while (rs.next()){
    String xml1 = "<AsynchBPELProcess1ProcessRequest xmlns='http://xmlns.oracle.com/AsynchBPELProcess1'>"+
    "<Empno>"+rs.getString(1)+"</Empno>"+
    "<EmpName>"+rs.getString(2)+"</EmpName>"+
    "<Salary>"+rs.getString(3)+"</Salary>"+
    "<Comments>"+rs.getString(4)+"</Comments>"+
    "</AsynchBPELProcess1ProcessRequest>";
    out.println(xml1);
    nm.addPart("payload", xml1 );
    // EmployeeApprovalProcess is the BPEL process in which human task is implemented
    deliveryService.post("EmployeeApprovalProcess", "initiate", nm);
    // payload = res.getPayload();
    out.println( "BPELProcess CreditRatingService executed!<br>" );
    // out.println( "Credit Rating is " + payload.get("payload") );
    //Incase there is an exception while invoking the first server invoke the second server i.e lsgpas13.
    catch(Exception ee) {
    //("BPEL Server lsgpas14 invoking error.\n"+ee.toString());
    %>
    </body>
    </html>
    Its working fine.And i want it for Bulk approvals.please help me step by step procedure if any other way to implement this.

  • Help with anonymus pl/sql layout using javascript

    Hi people.
    i want to display some records on a region (using apex 4.2) , this anonymous pl/sql script below shows 3 records from database, but the layout only shows me the first record with it's data, the others 2 records, only show me labels.
    i have verified this same query creating a report and it shows the 3 records correctly.
    i guess i am doing something wrong with this javascript routine or i am surely missing something,
    in this link you can see the layout i am getting. (http://sdrv.ms/Xrv0J8).
    the other little help i need is to display in one row for each record. actually i am getting one row for each label and one row for each data record. i have read and found is something about /div, but i don't no how to change it to get desired results, any suggestion is welcome.
    thanks in advance for any help.
    i am completely new in apex and java script, but i have several years experience in pl/sql.
    The Script :
    Begin
    Declare
    Cursor Deliv Is
    Select item,
    To_char (Delivery, 'month dd, yyyy hh24:mi:ss') Delivery,
    Current_date
    From pending_items;
    Begin
    For A In Deliv Loop
    Begin
    Sys.Htp.P ('<script type="text/javascript">');
    Sys.Htp.P ('function cdtd() {');
    Sys.Htp.P (' var xmas = new Date("' || a.delivery || '")');
    Sys.Htp.P (' var now = new Date();');
    Sys.Htp.P (' var timeDiff = xmas.getTime() - now.getTime();');
    Sys.Htp.P (' if (timeDiff <= 0) {');
    Sys.Htp.P (' clearTimeout(timer);');
    -- Sys.Htp.P (' document.write("Some Text Here!");');
    Sys.Htp.P (' // Run any code needed for countdown completion here');
    Sys.Htp.P (' }');
    Sys.Htp.P (' var seconds = Math.floor(timeDiff / 1000);');
    Sys.Htp.P (' var minutes = Math.floor(seconds / 60);');
    Sys.Htp.P (' var hours = Math.floor(minutes / 60);');
    Sys.Htp.P (' var days = Math.floor(hours / 24);');
    Sys.Htp.P (' hours %= 24;');
    Sys.Htp.P (' minutes %= 60;');
    Sys.Htp.P (' seconds %= 60;');
    Sys.Htp.P (' document.getElementById("daysBox").innerHTML = days;');
    Sys.Htp.P (' document.getElementById("hoursBox").innerHTML = hours;');
    Sys.Htp.P (' document.getElementById("minsBox").innerHTML = minutes;');
    Sys.Htp.P (' document.getElementById("secsBox").innerHTML = seconds;');
    Sys.Htp.P (' var timer = setTimeout("cdtd()",1000);');
    Sys.Htp.P ('}');
    Sys.Htp.P ('</script>');
    Sys.Htp.P ('Days ');
    Sys.Htp.P ('<div id="daysBox"></div>');
    Sys.Htp.P ('Hours');
    Sys.Htp.P ('<div id="hoursBox"></div>');
    Sys.Htp.P ('Minutes');
    Sys.Htp.P ('<div id="minsBox"></div>');
    Sys.Htp.P ('Seconds');
    Sys.Htp.P ('<div id="secsBox"></div>');
    Sys.Htp.P ('<script type="text/javascript">');
    Sys.Htp.P ('cdtd();</script>');
    End;
    End Loop;
    End;
    End;

    Let's focus on your delivery dates and javascript for now.
    Why you would put your javascript in htp.p calls in a plsql region is quite beyond me. When you edit the page there is a javascript region where you can put global variables and functions, an excellent spot for this then, and a lot more maintainable than this.
    Now it's also obvious that your query on pending items will return more than one record. So, using a report would serve you well in this case. However, using code like this:
    document.getElementById("daysBox").innerHTML = days;
    document.getElementById("hoursBox").innerHTML = hours;
    document.getElementById("minsBox").innerHTML = minutes;
    document.getElementById("secsBox").innerHTML = seconds;will not serve you. getElementById is meant to return one element uniquely identified by an ID. If you have a report with multiple rows, and elements on each row with the same ID, you are doing something wrong. You would need the delivery date per row, and I guess that you put out your code with htp.p because you do not know how to deal with that and passing it in to the javascript procedure.
    But wouldn't it be more oppurtune for you to simply create a report with a source sql where you calculate each part of the date, and then refresh this region with a certain interval. If you'd refresh every 5 minutes, wouldn't that be more than fast enough to keep track of things? Don't forget, refreshing a region will execute the sql again.
    It's not that you can't accomplish a multirecord report with a countdown per row, but are you comfortable enough with javascript and jquery to code and maintain that versus leveraging plsql and dynamic actions (there is even a dynamic action timer plugin provided by oracle)?

  • Help with simple script

    I was wondering if someone could help me with a simple bit of action script 3. I need to make a movie clip (single_mc) disappear when the user clicks on the mouse (stop_btn). Here’s what I have so far.
    function setProperty(event:MouseEvent):void
    single_mc.alpha=0;
    stop_btn.addEventListener(MouseEvent.CLICK, setProperty);
    Also I was wonder if you could recommend an Action script 3 book for me. I would like one that is not a training book, but has situations and then the script written out. For example: I click a button and a movie symbol disappears from the stage. I am a graphic artist, that from time to time, needs simple interaction in flash, but cant justify the time to learn the script.
    Thanks for your time

    use the snippets panel to help with you with sample code for basic tasks.
    function setProperty(event:MouseEvent):void
    single_mc.visible=false;
    stop_btn.addEventListener(MouseEvent.CLICK, setProperty);

  • Please help with simple Drag N Drop

    I’m desperate and need some help with this simple drag
    and drop. Here is the scenario…this animation is for a
    kindergarten course. I have 6 different colored teddy bears on the
    floor and the bears are to be placed on the middle shelf in the
    room, in no particular order. I have the code in place to drag the
    bears, and they return to their original location if dropped in the
    wrong area. Everything works, except I can’t make the bears
    stick to the target area. The target area has to be the same for
    all 6 bears. Can someone help me out with this?
    I have a feeling that the problem has something to do with my
    instance names, but I have tried everything I can think of and
    cannot get it to work. Is there some way I can post, send, or
    attach my .fla file for someone to look at? I’m desperate.
    PLEASE HELP!

    var startX3:Number;
    var startY3:Number;
    var counter3:Number=0;
    vf_A.addEventListener(MouseEvent.MOUSE_DOWN, pickUp3);
    vf_A.addEventListener(MouseEvent.MOUSE_UP, dropIt3);
    vf_E.addEventListener(MouseEvent.MOUSE_DOWN, pickUp3);
    vf_E.addEventListener(MouseEvent.MOUSE_UP, dropIt3);
    vf_I.addEventListener(MouseEvent.MOUSE_DOWN, pickUp3);
    vf_I.addEventListener(MouseEvent.MOUSE_UP, dropIt3);
    vf_O.addEventListener(MouseEvent.MOUSE_DOWN, pickUp3);
    vf_O.addEventListener(MouseEvent.MOUSE_UP, dropIt3);
    vf_U.addEventListener(MouseEvent.MOUSE_DOWN, pickUp3);
    vf_U.addEventListener(MouseEvent.MOUSE_UP, dropIt3);
    function pickUp3(event:MouseEvent):void {
    event.target.startDrag(true);
    reply2_txt.text="";
    event.target.parent.addChild(event.target);
    startX2=event.target.x;
    startY2=event.target.y;
    function dropIt3(event:MouseEvent):void {
    event.target.stopDrag();
    var myTargetName:String="target"+event.target.name;
    var myTarget:DisplayObject=getChildByName(myTargetName);
    if (event.target.dropTarget != null &&
    event.target.dropTarget.name == "instance112") {
    reply2_txt.text="Good Job!";
    event.target.removeEventListener(MouseEvent.MOUSE_DOWN,
    pickUp3);
    event.target.removeEventListener(MouseEvent.MOUSE_UP,
    dropIt3);
    event.target.buttonMode=false;
    event.target.x=myTarget.x;
    event.target.y=myTarget.y;
    var mySound:Sound = new vowels_NAR_goodjob();
    mySound.play();
    counter3++;
    } else {
    reply2_txt.text="Try Again!";
    event.target.x=startX2;
    event.target.y=startY2;
    var mySound2:Sound = new vowel_NAR_nopetryagain();
    mySound2.play();
    if (counter2==5) {
    reply2_txt.text="Great Job! You did it!";
    gotoAndPlay(3300);
    vf_A.buttonMode=true;
    vf_E.buttonMode=true;
    vf_I.buttonMode=true;
    vf_O.buttonMode=true;
    vf_U.buttonMode=true;

  • Help with some PL/SQL Triggers

    hello there, I'm totally new using PL/SQL so I need your help with two triggers.
    For instance
    1. Compare two dates, and verify that there are different, you must send a message Error
    2. When I insert a new record, a trigger must obtain data from other tables and add it (on a new record)
    Maybe not the answers, maybe the way to go!
    Thks!

    Hi,
    Welcome to the forum
    1. Compare two dates, and verify that there are different, you must send a message Errorwhy trigger ?
    Trigger is Only for when DML Performed :)
    try 1st one in procedure..
    create or replace procedure testing(p_date in date)
    is
    v_date date;
    begin
    select to_date(hiredate,'mm-dd-rr') into v_date
    from emp
    where to_date(hiredate,'mm-dd-rr')=to_date(p_date,'mm-dd-rr');
    dbms_output.put_line(v_date);
    exception
    when others then
    dbms_output.put_line('No Data Found');
    end;
    2. When I insert a new record, a trigger must obtain data from other tables and add it (on a new record)i didn't understand can you please explain me in detail ?
    Thanks
    Venkadesh

  • Please help with workflow inspired SQL

    Hi everyone, I need some help with a piece of sql I need to create. It will be used in a workflow scenario and is therefore a bit hairy and has some limitations. So here goes..
    I have 2 current tables that will be used in this query. The first is a table used as a supervisor cross reference, and the second will be used for signing authority, or approval authorization. In short...the first table will give you the supervisor for the particular employee or employee in the where clause. This tells us who to route to. The second table has the operators authority level. As an example.... 1, 2, 3, or 4. A 1 could signify that this supervisor can approve for up to $5,000, and a 4 could signify that this person can approve up to $250,000. thats the basic idea.
    So what I need to do in ONE statement is get the requestor's supervisor, and then check his/hers authority level for level 1, 2, 3 or 4. The authority level needed will be passed into the query, so I will have that as well as the requestor. And here is the hard part...... If no rows are returned (the supervisor does not have authority to approve) I need the query to apply the same logic to the next supervisor. In other words, the supervisor's supervisor. Every requestor will have a supervisor. Every supervisor will also have a supervisor....so it goes until we get to the CEO. So the query needs to keep going until it finds a row matching the signing authority.
    So the limitations are......this needs to happen in one SQL query, and this query can only return ONE field!
    Here are some creates and inserts to give you something to work with. Been suffering with this one for a few days so your help is GREATLY appreciated.
    Supervisor cross reference table
    CREATE TABLE PS_ROLEXLATOPR (ROLEUSER VARCHAR2(30) DEFAULT ' ' NOT
    NULL,
    DESCR VARCHAR2(30) DEFAULT ' ' NOT NULL,
    OPRID VARCHAR2(30) DEFAULT ' ' NOT NULL,
    EMAILID VARCHAR2(70) DEFAULT ' ' NOT NULL,
    FORMID VARCHAR2(70) DEFAULT ' ' NOT NULL,
    WORKLIST_USER_SW VARCHAR2(1) DEFAULT 'Y' NOT NULL,
    EMAIL_USER_SW VARCHAR2(1) DEFAULT 'Y' NOT NULL,
    FORMS_USER_SW VARCHAR2(1) DEFAULT 'Y' NOT NULL,
    EMPLID VARCHAR2(11) DEFAULT ' ' NOT NULL,
    ROLEUSER_ALT VARCHAR2(30) DEFAULT ' ' NOT NULL,
    ROLEUSER_SUPR VARCHAR2(30) DEFAULT ' ' NOT NULL,
    EFFDT_FROM DATE,
    EFFDT_TO DATE) TABLESPACE PTTBL STORAGE (INITIAL 40000 NEXT 100000
    MAXEXTENTS UNLIMITED PCTINCREASE 0) PCTFREE 10 PCTUSED 80
    INSERT INTO PS_ROLEXLATOPR
    DESCR,
    OPRID ,
    EMAILID ,
    FORMID ,
    WORKLIST_USER_SW ,
    EMAIL_USER_SW ,
    FORMS_USER_SW ,
    EMPLID ,
    ROLEUSER_ALT ,
    ROLEUSER_SUPR ,
    EFFDT_FROM
    VALUES
    DESCR,
    'ABC123',
    'XYZ123',
    Signing Authority table..
    CREATE TABLE PS_ZZ_WF_AUTHORITY (OPRID VARCHAR2(30) NOT NULL,
    EMPLID VARCHAR2(11) NOT NULL,
    EMAILID VARCHAR2(70) NOT NULL,
    ZZ_SIGN_AUTHORITY VARCHAR2(1) NOT NULL) TABLESPACE APLARGE STORAGE
    (INITIAL 40000 NEXT 100000 MAXEXTENTS UNLIMITED PCTINCREASE 0)
    PCTFREE 10 PCTUSED 80
    insert into PS_ZZ_WF_AUTHORITY
    OPRID,
    EMPLID,
    EMAILID,
    ZZ_SIGN_AUTHORITY
    Values
    'XYZ123',
    'Any_Email',
    '1'
    )

    Hi,
    Welcome to the forum!
    Thanks for posting the CREATE TABLE and INSERT statements; that's very helpful!
    Whenever you have a question, also post the results you want to get from the sample data your posted.
    Always say what version of Oracle you're suing.
    In the sample data you posted, I only see one row in each table. Does that really give a good picture of the problem? If the problem involves going up the chain of command 1, 2, 3 or more levels, then shouldn't you have a chain of at least 3 people to show the problem and test the results?
    I think what you need is CONNECT BY Query , which works on a table with a parent-child relationship. Given a parent, you can find that ow's children, the children's children, their children, and so on, however many generations there are.
    I don't think I can demonstrate this with your sample data, so I'll use the scott.emp table, whcih you should be able to query.
    The emp table contains a hierarcy of employees, including this data:
    NAME                 EMPNO        MGR        SAL JOB
    KING                  7839                  5000 PRESIDENT
       JONES              7566       7839       2975 MANAGER
          SCOTT           7788       7566       3000 ANALYST
             ADAMS        7876       7788       1100 CLERK
          FORD            7902       7566       3000 ANALYST
             SMITH        7369       7902        800 CLERK
       BLAKE              7698       7839       2850 MANAGER
          ALLEN           7499       7698       1600 SALESMAN
          WARD            7521       7698       1250 SALESMAN
          MARTIN          7654       7698       1250 SALESMAN
          TURNER          7844       7698       1500 SALESMAN
          JAMES           7900       7698        950 CLERK
       CLARK              7782       7839       2450 MANAGER
          MILLER          7934       7782       1300 CLERKThis show, among other things, that the employee with ename='KING' (empno=7839) has no boss.
    JONES (empno=7566) does have a boss (mgr=7839), namely KING.
    SCOTT (empno=7788) has a bos (mgr=7566), who is JONES.
    I got the results above using this CONNECT BY query:
    SELECT     LPAD ( ' '
              , 3 * (LEVEL - 1)
              ) || ename          AS name
    ,     empno
    ,     mgr
    ,     sal
    ,     job
    FROM     scott.emp
    START WITH     mgr     IS NULL
    CONNECT BY     mgr     = PRIOR empno
    ;This is an example of a Top-Down Query , where we start with a parent, then find its children, grandchildren, and so on.
    In your probelm, you want to do a Bottom-Up Query ; given a child, you want to see if its parent has a certain level of authority. If not, you need to look at that parent's parent, and keep going until to either reach someone with the right qualifications, or you reach the end of the chain of command.
    That's similar to this problem: given a set of employees in scott.emp (say, everyone with job='CLERK') we want to find their closest ancestor who has a sal of 3000 or more. Look at the data above: you can see that SMITH is a CLERK, and SMITH'S boss, FORD, has sal=3000, so we want a row of output that shows SMITH and FORD.
    For a different example, looks at MILLER. MILLER's boss, CLARK, only has sal=2450, so we need to look at CLARK's boss, KING.
    One way to do that in a CONNECT BY query is:
    SELECT     CONNECT_BY_ROOT ename     AS subordinate
    ,     ename
    ,     LEVEL - 1          AS steps_apart
    FROM     scott.emp
    WHERE     CONNECT_BY_ISLEAF     = 1
    START WITH     job       = 'CLERK'
    CONNECT BY     empno       = PRIOR mgr
         AND     PRIOR sal < 3000
    ;Output:
    SUBORDINAT ENAME      STEPS_APART
    SMITH      FORD                 1
    ADAMS      SCOTT                1
    JAMES      KING                 2
    MILLER     KING                 2You should be all set to write the query now.
    Just kidding. I'll bet there's a lot of stuff in this message that's new to you. It's all documented in the SQL Language manual:
    http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/index.htm
    If you'd like help, post your version, a more complete set of sample data, and the results you want from that data.
    Explain, with specific examples, how you get the results you posted from the data you posted.
    Do as much of the query as you can, and post your code.

  • Help with simple INSERT statement?

    How can I do an insert into Oracle without having to
    specify EVERY field name in the table? This isn't necessary
    with Access or
    SQL Server, which will insert null's in the non-specified
    fields, the Oracle SQL
    tool tells me that there aren't enough field values when I run
    this SQL Statement:
    INSERT INTO TABLE_NAME VALUES (1234, 'test', 'test')
    There are over 10 different fields, but I get the error message:
    Native Error Code 947, Not enough values.
    TIA
    Kris
    null

    Kristofer Goss (guest) wrote:
    : How can I do an insert into Oracle without having to
    : specify EVERY field name in the table? This isn't necessary
    : with Access or
    : SQL Server, which will insert null's in the non-specified
    : fields, the Oracle SQL
    : tool tells me that there aren't enough field values when I run
    : this SQL Statement:
    : INSERT INTO TABLE_NAME VALUES (1234, 'test', 'test')
    : There are over 10 different fields, but I get the error
    message:
    : Native Error Code 947, Not enough values.
    : TIA
    : Kris
    You may omit the columns list, but if you do then the VALUES
    clause must provide values for every column in the table.
    FOR EXAMPLE: if your table were created as follows:
    COLUMN_1 NOT NULL, VARCHAR2(4)
    COLUMN_2 NUMBER(6)
    COLUMN_3 DATE
    COLUMN_4 VARCHAR2(4)
    You could submit a statement like:
    insert into my_table VALUES ('ALLA', , , 'XYZ');
    You could also submit a statement like:
    insert into my_table (column_1, column_4) VALUES ('ALLA', 'XYZ');
    If you do not want to store any value in a particular column,
    then that column must be allowed to accept NULLs.
    Hope this helps.
    null

  • Help with simple programming

    Hello everyone.
    First time posting, i hope someone would be able to help me out. There are 5 classes that i have to do, but i only need help with one of them. I've been stuck on this one pretty long and can't continue without it.
    Instructions:
    •     Has boolean data member face, either HEADS or TAILS.
    •     Has a Random data member flipper which is instantiated in the constructor.
    •     Class constructor has no parameters and randomly chooses the result HEADS or TAILS. (See method flip())
    •     Method getFace() returns the face showing on the coin.
    •     void method flip() randomly selects HEADS or TAILS.
    package coinflip;
    import java.util.Random;
    * @author Blank
    public class Coin {
        boolean face = false;
        int flip_coin;
        Random flipper = new Random();
        int getFace() {
            return flip_coin;
          Coin() {
            if (flip_coin == 0) {
                face = true;
            } else {
                face = false;
        public void flip() {
            flip_coin = flipper.nextInt(2);
    }i really don't know why the random isn't working. I hope someone would be able to find my errors and instruct me on how to fix them. I would be able to continue the rest of the classes as soon as i got this figured out.
    Oh and can someone teach me how to import this class into a main one? So i can test it out. This is what i have for it.public class Main {
         * @param args the command line arguments
        public static void main(String[] args) {
         Coin flipCoin = new Coin();
         for(int i=0;i<6;i++){
         System.out.println(flipCoin.getFace());
    }Many Thanks!
    Edited by: Java_what on Feb 16, 2009 2:26 PM

    Constructors are only executed once. What im confused about is:
    • Class constructor has no parameters and randomly chooses the result HEADS or TAILS. (See method flip())
    I thought i would flip() into the constructor. Mind helping me out on the whole class because it seems i am clueless about this whole class.
    Edit:
    public class Coin {
        boolean face = false;
        int flip_coin;
        Random flipper = new Random();
        int getFace() {
            flip();
            return flip_coin;
        Coin() {
           //flip();
        public void flip() {
            flip_coin = flipper.nextInt(2);
    }K i reread what you wrote about the constructor and method. So i placed flip() method in getFace(); because its being called in the main(it gives me random numbers). The problem now is following the directions.
    I just dont understand this description. • Class constructor has no parameters and randomly chooses the result HEADS or TAILS. (See method flip())
    What do you think it means.
    Edited by: Java_what on Feb 16, 2009 4:14 PM

  • Help with simple applet - dragging box

    Hi I need help with a simple applet concept.
    I have a picture drawn in the background, but I need to draw a square and resize it when I drag.
    So with the picture in the background I click, drag the mouse, and it draws a rectangle from the starting point to where the mouse is while the mouse is clicked.
    The only problem is I can't figure out how to do this without redrawing the whole picture. If I don't repaint, it just keeps stretching around rectangles and leaving them there.
    I don't really need exact code, just an idea on how to do this without repainting the background every time the mouse is moved (because the picture in the background is complicated to draw and takes like a second).
    Thanks
    [nvm, found out about xormode]
    Edited by: BugMenOTdhzj on Nov 30, 2009 4:47 PM

    BugMenOTdhzj wrote:
    ..the picture in the background is complicated to draw and takes like a second).Paint the 'picture in the background' to a BufferedImage, then when it comes to paint()/paintComponent(), draw the BI to the Graphics object (clipped, if necessary (1)), then draw the rectangle to the Graphics object. This would be further optimised at time of rendering, by drawing both the 'picture in the background' BI and rectangle to a second BI, and finally writing that 2nd BI to the Graphics object.
    1) There are potentially other improvements that can be made, particularly with clipping, but I suspect if you try as I suggested, the rendering will be very quick and responsive. I have 40 FPS sound trace animations that do a great deal more on each call to paintComponent(), before bursting the final BI to screen.

  • Need help with simple XML validation

    I am new to Spry and need some help creating a simple
    validation. There is a form field which must not contain a value
    already in the database. I have a script which accepts a parameter
    and returns a boolean result. Here is the XML:
    <samples>
    <sample>
    <ISFOUND>0</ISFOUND>
    </sample>
    </samples>
    1. How do I call this script when the form field changes and
    pass the form value as the parameter?
    2. How do I check the returned value in the XML and throw an
    error if true?
    I appreciate any help with this. Please let me know if there
    is a better way to achieve the same result.
    Thanks,
    Rich

    I enabled the call to the XML response. However, I am having
    trouble identifying when the call is complete so I can parse the
    result. How do I run my check after the data load and display the
    proper message?

  • Beginner needs help with simple code.

    I just statrted learnind java, and I need some help with this simple program. For some reason everytime I enter my Farenheit value, the Celsius conversion returns as 0.0. Would really appreciate the help. Thanks.
    Here's the code:
    public class TempConverter
    public static void main(String[] args)
    double F = Double.parseDouble(args[0]);
    System.out.println("Temperature in Farenheit is: " + F);
    double C = 5 / 9;
    C *= (F - 32);
    System.out.println("Temperature in Celsius is: " + C);
    }

    double C = 5 / 9This considers "5" and "9" to be integers and does an integer division, discarding the remainder. The result of that division is 0. Trydouble C = 5.0/9.0;

Maybe you are looking for

  • How to load a XML into Checkpoint in UFT API using custom code

    I am automating a webservice using UFT-12. In which I am trying to load a xml into the checkpoint at run time. but I am not able to find out a way of doing it.Can any1 help me on this?

  • Can I install a Netgear pc card in a mac?

    I got a netgear super G notebook network card. Can I install it in the card slot in my titanium powerbook? I already have airport installed inside the powerbook, but it's 802.11B as opposed to the faster G.

  • Acrobat Pro 8 Outlook convert to PDF

    I have several thousand emails that I want to convert to PDF using the PDF Maker plug-in. I want all the messages and their attachements converted, I don't need PDF/A or an index. The problem that I have is the volume of emails is so large that PDF M

  • Dynamic Selections in FS10N

    Hi, How can i visible the Edit --> Dynamic Selections field in Menu Bar of T. code FS10N...it is coming invisible... Thanks..

  • Trouble downloading After Effects CC

    I'm trying to download After Effects CC, but the Adobe Application Manager software crashes before anything can begin. I've tried restarting and everything else I know to do. I'm using a Mid 2012 MacBook Pro with a 2.3 GHz Intel Core i7 processor uti