Problems storing sql statement in database

Hi,
I'm writing an application which needs to select a sql statement from an oracle database. The statement should look something like this:
"select id,name,... .from table 1 where id = " + ID + " and name = " + NAME
however when I select this from the database it give a sql error - invalid sql statement, I've tried putting it in the database without quotes, with single quotes etc but I can't seem to get it working.
I'd much appreciate it if any one had any ideas on this.
thanks.

debug it: output the sql string to a println or
JTextArea. See what is in it (and test it) . Must be a
null value in the variables.The variables are set previously in the code
I outputted the sql string to the screen but the variable names are not being replaced by the values.

Similar Messages

  • Strange problem with SQL-Statement

    Hi guys,
    i encountered a strange problem trying to execute a statement
    like this:
    Insert Into Data Set Text = 'Exception-Type: {0} Message: {1}';
    I'm using createStatement and executeUpdate.
    But the message stored looks like:
    Exception-Type: 0{} Message: 1{}
    I'm using MySQL 3.23. if I use ODBC everthing is o.k.!?
    Any suggestions
    Thanks

    I found a solution,
    i've thought it through once again. the sql-parsing
    mechanism seemed to be the right direction.
    i guess the odbc mysql implementation does a sql-statement
    conversion, so the string is stored correctly into the
    database. the jdbc-implementation doesn't.
    if i replace { with \{ it works. the backlash can be used
    to masquerade some characters in mysql.
    my application is database independent (or it should be)
    so i wonder if this works with oracle , db2 etc.
    mike

  • Problem with sql statement after migration

    Hi, recently I copied a production database X to a remote location, to serve as a test upgrade database. Original is 32 bit and test database is 64 bit. After migration it turned out that one sql statement consumed much more CPU during EXECUTE phase than on production database. Explain plans are the same. Why CPU is different? How can I trace the problem?
    ORIGINAL SERVER TKPROF OUTPUT:
    call count cpu elapsed disk query current rows
    Parse 1 0.12 0.33 0 0 2 0
    Execute 1 542.60 2165.29 2 6 0 0
    Fetch 0 0.00 0.00 0 0 0 0
    total 2 542.73 2165.62 2 6 2 0
    Misses in library cache during parse: 1
    Optimizer mode: ALL_ROWS
    Parsing user id: 66 (SPB)
    Rows     Row Source Operation
          0  SORT UNIQUE (cr=6 pr=2 pw=0 time=719909655 us)
          0   FILTER  (cr=6 pr=2 pw=0 time=719909615 us)
          2    NESTED LOOPS  (cr=0 pr=0 pw=0 time=719895787 us)
          2     HASH JOIN  (cr=0 pr=0 pw=0 time=719881575 us)
          2      NESTED LOOPS  (cr=0 pr=0 pw=0 time=1210563833 us)
          2       NESTED LOOPS  (cr=0 pr=0 pw=0 time=1210549798 us)
          2        NESTED LOOPS  (cr=0 pr=0 pw=0 time=1210519159 us)
    330261         REMOTE  TWFLPROCESSINSTANCES (cr=0 pr=0 pw=0 time=29176788 us)
          2         REMOTE  TAMCONTRACTEDITEMD (cr=0 pr=0 pw=0 time=1177866001 us)
          2        REMOTE  TAMPROPVALUES (cr=0 pr=0 pw=0 time=30580 us)
          2       REMOTE  TREPVALUELISTITEMS (cr=0 pr=0 pw=0 time=13973 us)
    24542745      REMOTE  TAMCONTRACTEDITEMD (cr=0 pr=0 pw=0 time=638116004 us)
          2     REMOTE  TWFLPROCESSINSTANCES (cr=0 pr=0 pw=0 time=14154 us)
          2    INDEX RANGE SCAN IDX_PROCES_ID (cr=6 pr=2 pw=0 time=13706 us)(object id 546934)
    Rows     Execution Plan
          0  INSERT STATEMENT   MODE: ALL_ROWS
          0   SORT (UNIQUE)
          0    FILTER
          2     NESTED LOOPS
          2      HASH JOIN
          2       NESTED LOOPS
          2        NESTED LOOPS
          2         NESTED LOOPS
    330261          REMOTE OF 'TWFLPROCESSINSTANCES' (REMOTE)
                         [T6STDBY.WR]
                        SELECT /*+ OPAQUE_TRANSFORM */ "ID","STATUS","STARTDATE"
                        FROM "DIALOG6"."TWFLPROCESSINSTANCES" "PI" WHERE
                          "STATUS"<>'A' AND "STATUS"<>'N' AND "STARTDATE">=:1-30
          2          REMOTE OF 'TAMCONTRACTEDITEMD' (REMOTE)
                         [T6STDBY.WR]
                        SELECT /*+ OPAQUE_TRANSFORM */ "CITEM_ID","ROOTCITEM_ID",
                        "PRODUCT_ID","CONTRACT_ID" FROM
                        "DIALOG6"."TAMCONTRACTEDITEMD" "CI" WHERE "PRODUCT_ID"=
                          934 AND "CONTRACT_ID"=:1
          2         REMOTE OF 'TAMPROPVALUES' (REMOTE) [T6STDBY.WR]
                       SELECT /*+ OPAQUE_TRANSFORM */ "PROPERTY_ID",
                       "VALUEOBJECT_ID","CONTRACTEDITEM_ID","DTO","ISVALID"
                       FROM "DIALOG6"."TAMPROPVALUES" "TV" WHERE "DTO" IS NULL
                       AND "ISVALID"='Y' AND "CONTRACTEDITEM_ID"=:1 AND
                         "PROPERTY_ID"=930326
          2        REMOTE OF 'TREPVALUELISTITEMS' (REMOTE) [T6STDBY.WR]
                      SELECT /*+ OPAQUE_TRANSFORM */ "ID","NAME" FROM
                        "DIALOG6"."TREPVALUELISTITEMS" "TVL" WHERE "ID"=:1
    24542745       REMOTE OF 'TAMCONTRACTEDITEMD' (REMOTE) [T6STDBY.WR]
                     SELECT /*+ OPAQUE_TRANSFORM */ "CITEM_ID","CONTRACT_ID" FROM
                       "DIALOG6"."TAMCONTRACTEDITEMD" "CINAD"
          2      REMOTE OF 'TWFLPROCESSINSTANCES' (REMOTE) [T6STDBY.WR]
                    SELECT /*+ OPAQUE_TRANSFORM */ "ID" FROM
                    "DIALOG6"."TWFLPROCESSINSTANCES" "SYS_ALIAS_1" WHERE "ID"=
                      :1
          2     INDEX   MODE: ANALYZED (RANGE SCAN) OF 'IDX_PROCES_ID'
                    (INDEX)
    REMOTE SERVER TKPROF OUTPUT:
    call count cpu elapsed disk query current rows
    Parse 1 0.15 0.15 0 0 2 0
    Execute      1   1210.69    3831.70          0          6          0           0
    Fetch 0 0.00 0.00 0 0 0 0
    total 2 1210.85 3831.85 0 6 2 0
    Misses in library cache during parse: 1
    Optimizer mode: ALL_ROWS
    Parsing user id: 66 (SPB)
    Rows     Row Source Operation
          0  SORT UNIQUE (cr=6 pr=0 pw=0 time=681448432 us)
          0   FILTER  (cr=6 pr=0 pw=0 time=681448397 us)
          2    NESTED LOOPS  (cr=0 pr=0 pw=0 time=681448144 us)
          2     HASH JOIN  (cr=0 pr=0 pw=0 time=681443808 us)
          2      NESTED LOOPS  (cr=0 pr=0 pw=0 time=168646003 us)
          2       NESTED LOOPS  (cr=0 pr=0 pw=0 time=168636029 us)
          2        NESTED LOOPS  (cr=0 pr=0 pw=0 time=168580989 us)
    327667         REMOTE  TWFLPROCESSINSTANCES (cr=0 pr=0 pw=0 time=9177863 us)
          2         REMOTE  TAMCONTRACTEDITEMD (cr=0 pr=0 pw=0 time=158011360 us)
          2        REMOTE  TAMPROPVALUES (cr=0 pr=0 pw=0 time=55007 us)
          2       REMOTE  TREPVALUELISTITEMS (cr=0 pr=0 pw=0 time=9947 us)
    24542745      REMOTE  TAMCONTRACTEDITEMD (cr=0 pr=0 pw=0 time=3509657414 us)
          2     REMOTE  TWFLPROCESSINSTANCES (cr=0 pr=0 pw=0 time=4309 us)
          2    INDEX RANGE SCAN IDX_PROCES_ID (cr=6 pr=0 pw=0 time=160 us)(object id 552075)
    Rows     Execution Plan
          0  INSERT STATEMENT   MODE: ALL_ROWS
          0   SORT (UNIQUE)
          0    FILTER
          2     NESTED LOOPS
          2      HASH JOIN
          2       NESTED LOOPS
          2        NESTED LOOPS
          2         NESTED LOOPS
    327667          REMOTE OF 'TWFLPROCESSINSTANCES' (REMOTE)
                         [T6STDBY.WR]
                        SELECT /*+ OPAQUE_TRANSFORM */ "ID","STATUS","STARTDATE"
                        FROM "DIALOG6"."TWFLPROCESSINSTANCES" "PI" WHERE
                          "STATUS"<>'A' AND "STATUS"<>'N' AND "STARTDATE">=:1-30
          2          REMOTE OF 'TAMCONTRACTEDITEMD' (REMOTE)
                         [T6STDBY.WR]
                        SELECT /*+ OPAQUE_TRANSFORM */ "CITEM_ID","ROOTCITEM_ID",
                        "PRODUCT_ID","CONTRACT_ID" FROM
                        "DIALOG6"."TAMCONTRACTEDITEMD" "CI" WHERE "PRODUCT_ID"=
                          934 AND "CONTRACT_ID"=:1
          2         REMOTE OF 'TAMPROPVALUES' (REMOTE) [T6STDBY.WR]
                       SELECT /*+ OPAQUE_TRANSFORM */ "PROPERTY_ID",
                       "VALUEOBJECT_ID","CONTRACTEDITEM_ID","DTO","ISVALID"
                     FROM "DIALOG6"."TAMPROPVALUES" "TV" WHERE "DTO" IS NULL
                       AND "ISVALID"='Y' AND "CONTRACTEDITEM_ID"=:1 AND
                         "PROPERTY_ID"=930326
          2        REMOTE OF 'TREPVALUELISTITEMS' (REMOTE) [T6STDBY.WR]
                      SELECT /*+ OPAQUE_TRANSFORM */ "ID","NAME" FROM
                        "DIALOG6"."TREPVALUELISTITEMS" "TVL" WHERE "ID"=:1
    24542745       REMOTE OF 'TAMCONTRACTEDITEMD' (REMOTE) [T6STDBY.WR]
                     SELECT /*+ OPAQUE_TRANSFORM */ "CITEM_ID","CONTRACT_ID" FROM
                       "DIALOG6"."TAMCONTRACTEDITEMD" "CINAD"
          2      REMOTE OF 'TWFLPROCESSINSTANCES' (REMOTE) [T6STDBY.WR]
                    SELECT /*+ OPAQUE_TRANSFORM */ "ID" FROM
                    "DIALOG6"."TWFLPROCESSINSTANCES" "SYS_ALIAS_1" WHERE "ID"=
                      :1
          2     INDEX   MODE: ANALYZED (RANGE SCAN) OF 'IDX_PROCES_ID'
                    (INDEX)Edited by: Przemek P on 2012-01-27 07:40
    Edited by: Przemek P on 2012-01-27 07:50

    Could you please edit your post and use \ tags so the output is more user friendly?
    Type: \Your Code Here\It will display as:Your Code Here                                                                                                                                                                                                                                                                                                                                                                       

  • Problem constructing SQL statement dynamically

    One of our system requirements is to generate a report dynamically based on certain search crieria. I implemented the report by creating a dynamic page. The dynamic page receive the search criteria as page parameters.
    Inside the dynamic page, I have an oracle (PL/SQL) section where I built the SQL statement dynamically based on the criteria.
    The opening of the cursor, selecting and displaying of the data works fine - no problem there. The only problem I have is with the construction of the where-clause. It almost seems as if the "if-statements" are completely ignored!!
    Take for example the following extract that makes use of the page parameter "pSDate" that contains the start date:
         whereClause := 'where claimant.kUserName = Claims.fClaimantUserName';
         if rTrim(ltrim(to_char(:pSDate))) = '' then
         whereClause := whereClause||' and Claims.CaptureDate >= to_date('''||:pSDate||''')';
         end if;
    After execution of the above the value of "whereClause" is always "where claimant.kUserName = Claims.fClaimantUserName" ... regardless of whether pSDate is populated or not. In other words, I can't get the "then" part of this statement to execute!
    By printing out the value of pSDate I verified that it indeed contains/not contains a value. I experimented with various functions (ltrim, to_char...) without any success. I even changed the operator in the condition to <> and it still does not work. I find this really weird.
    This is probably something really stupid but being new to PL/SQL I am missing it. Is there anybody out there that knows how I can solve this?

    Tried it and unfortunatly it does not work.
    By specifying the ":" you inform the compiler that it's a parameter to the "dynamic page". As a result it's added as a bind variable of the page. That is visible on the "Customization Form Display Options"-tab.
    The dynamic page is "called" from a stored procedure which "pass" values to these parameters. The passing seems to work fine since, when I "print" the parameter value in the page e.g.
    htp.p('pSDate: '||:pSDate)
    the correct value is displayed.
    The question remains, why does it not work when I use this parameter/bind variable in a condition that forms part of a if-statement?
    I have tried to assign the parameter to a tmp variable of type varchar2(100) just before the if-statement. Using the tmp variable in the if-statement makes no difference.
    Pleeeease can someone help me

  • Problem with SQL Statement for Result Filtering

    Dear Visual Composer Experts,
    Here is another Question from me: I have a SQL Query that is working as the data service
    Select AB.AgingBandID, AB.AgingBand,
    Sum(Case when priority='Emergency' then '1' Else 0 End) as [Emergency],
    Sum(Case when priority='Ugent' then '1' Else 0 End) as Ugent,
    Sum(Case when priority='High' then '1' Else 0 End) as High,
    Sum(Case when priority='Medium' then '1' Else 0 End) as Medium,
    Sum(Case when priority='Low' then '1' Else 0 End) as Low
    from DimAgingBand AB left outer join
    (Select AgingBandID , priority , yeardesc
    from vNotifications where YearDesc = (select year(getdate())-1)) as vN
    on AB.AgingBandID=vN.AgingBandID
    where AB.AgingBandID<>'1'  
    Group by  AB.AgingBandID, AB.AgingBand
    Order by AB.AgingBandID
    That would return me a table as in the following:
         Agingband     E     U     H     M     L
         < 1week     0     0     0     0     1
         1 - 2 weeks     0     0     0     0     0
         2 - 4weeks     0     0     0     0     1
    > 1month     8     2     1     1     6
    Now that I would like to add some parameters to filter the result, so I modify the query and put it in the SQL Statement input port of the same data service. The query is like this:
         "Select AB.AgingBandID, AB.AgingBand,Sum(Case when priority='Emergency' then '1' Else 0 End) as [Emergency],Sum(Case when priority='Ugent' then '1' Else 0 End) as Ugent,Sum(Case when priority='High' then '1' Else 0 End) as High,Sum(Case when priority='Medium' then '1' Else 0 End) as Medium,Sum(Case when priority='Low' then '1' Else 0 End) as Low from DimAgingBand AB left outer join (Select AgingBandID , priority , yeardesc from vNotifications where YearDesc like '2009%' and Branch like '" & if(STORE@selectedBranch=='ALL', '%', STORE@selectedBranch) & "' and MainWorkCentre like '%') as vN on AB.AgingBandID=vN.AgingBandID where AB.AgingBandID<>'1' Group by AB.AgingBandID, AB.AgingBand Order by AB.AgingBandID"
    However this input port query keeps giving me error as NullPointerException. I have actually specified a condition where the query will run if only STORE@selectedBranch != u2018u2019.
    I have other filtering queries working but they are not as complicated query as this one. Could it be possible that query in the input port cannot handle left outer join?
    Could it be anything else?
    Help is very much appreciated.
    Thanks & Regard,
    Sarah

    Hi,
    Thank you very much for your replys. I've tested if the dynamic value of the condition is integer, it's OK
    But if the ClassID type is not integer, it's string, I write  a SQL Statement like:
    "Select DBADMIN.Class.ClassName from DBADMIN.Class where DBADMIN.Class.ClassID = '1' "
    or with dynamic condition:
    "Select DBADMIN.Class.ClassName from DBADMIN.Class where DBADMIN.Class.ClassID = '"&@ClassID&"'"
    or I write the SQL Statement for insert/update/delete data,
    I always have errors.
    I've tested if the dynamic value of the condition is integer, it's OK
    Do you know this problem ?
    Thank you very much & kindly regards,
    Tweety

  • Strage Performance Problems with SQL Statements....

    Hi,
    I have realized a strange performance collapse while changing simple things in SQL Statements...
    I have build a simple Statement:
    SELECT
    a.AAA,
    a.BBB,
    a.CCC,
    b.AAA
    from
    TABLE_A a,
    TABLE_B b,
    TABLE_C c
    where
    a.XXX=b.XXX
    and c.XXX = a.XXX
    and c.yyy = 'SOMETHING'
    Its very fast, even with complex XSL Transformations...
    After Putting a GROUP BY or DISTINCT into the statement (to surpress Dataset "Clones") it tooks around 100 times more Time then before....
    I have tested the statement in a SQLPlus, it was as fast as before, but in the XMLPublisher it tooks much longer.....
    Have you realizesd this Problem before?
    Greetings...

    PROBLEM SOLVED !
    It has to be 8.1.6 across the whole environment.
    null

  • Problems with SQL statement ..Urgent Help required

    Hi
    I have a table with something like this
    ::: inidicates column seperation
    col1 ::: col2 ::: col3 ::: col4
    ab,abc,abvfg,fghy ::: x1 ::: y1 ::: z1
    ba,mkl,huji,kill ::: x2 ::: y2 ::: z2
    I want to get something like this :
    col1 ::: col2 ::: col3 ::: col4
    ab ::: x1 ::: y1 ::: z1
    abc ::: x1 ::: y1 ::: z1
    abvfg ::: x1 ::: y1 ::: z1
    fghy ::: x1 ::: y1 ::: z1
    and so on......
    Either a procedure or a single sql statement is fine..
    PS: the first column can have any number of words separated with comma (,)
    Please advise
    Thanks in advance

    create table kris (
    a varchar2(200),
    b varchar2(20),
    c varchar2(20),
    d varchar2(20));
    insert into kris values('ab,abc,abvfg,fghy', 'x1','y1','z1');
    insert into kris values('ba,mkl,huji,kill', 'x2','y2','z2');
    select substr(','||a||',', instr(','||a||',', ',', 1, rn) +1,
         instr(','||a||',', ',', 1, rn+1) - instr(','||a||',', ',', 1, rn) -1)
         v,b,c,d
    from (select length(a) - length(translate(a, '1,', '1')) +1 L,
         a, b, c, d from kris) t, (select rownum rn from cat) c
         where c.rn <= t.L
    order by a, rn;
    V B C D
    ab x1 y1 z1
    abc x1 y1 z1
    abvfg x1 y1 z1
    fghy x1 y1 z1
    ba x2 y2 z2
    mkl x2 y2 z2
    huji x2 y2 z2
    kill x2 y2 z2

  • Problem with sql statement

    hi
    i have a strange problem....when i run the following code with the 'if' statement commented out then it works fine. but when i have to search a particular name, say roy , then i include that if statement. but now it gives an error like no such data found.
    if the return typ of result.getString(2) is a string type then i wonder what is the problem. i enclose the code below.
    import java.sql.*;
    import java.io.*;
    public class checkDoc
         public static void main(String args[])
              String name;
              ResultSet result;
              try
                   name= "roy";
                   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                   Connection con;
                   con = DriverManager.getConnection("jdbc:odbc:MyDataSource","","");
                   Statement stat = con.createStatement();
                   result = stat.executeQuery("Select * from Details1");
                   while (result.next())
    /* problem here*/
    /*     if(result.getString(2).equals(name))
         */               System.out.println(result.getString(2));
              catch(Exception e)
                   System.out.println("Error"+e);

    thanks alot for that help...but now there is another silly problem!..
    i following is perhaps the simplest code possible for insering data into an ACCESS database.(simplest possible with just one column by the name Doc_name and table name is docdetails)...but it gives the error...
    "java.sql.SQLException:syntax error or in INSERT INTO statement"
    someone plz help!
    import java.sql.*;
    public class checkDoc4
         public static void main(String args[])
              ResultSet rs;
              try
                   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                   Connection con;
                   con = DriverManager.getConnection("jdbc:odbc:MyDataSource2","","");
    Statement stat = con.createStatement();
                        stat.executeUpdate("INSERT INTO docdetails" +
         "VALUES ('ankur')");          
              catch(Exception e)
                   System.out.println("Error"+e);

  • Storing SQL queries in database itself.

    I want to store SQL queries in 9i database itself so that I just need to pass the parameters from VB.NET front end and the query will execute. How can I do this?

    Possibly make use of Stored packages/procedures/functions?
    Back in 97/98 I had worked with VB (version 6 at that time) application for which I had written stored procedures to do exactly that... (except for select) VB application would pass parameter values to these procedures for doing inserts/updates/deletes. No application user was given direct insert/update/delete privileges.
    Also I had triggers written for each of the table involved to keep footprint (user id and date/time) for last update/insert for each of the row.
    I don't remember for sure if the application deleted rows from the DB. I think the application handled delete by actually updating a flag (active/inactive) again with a foot print so that you can track back the "deletes".
    my 1/2 cent worth of thought
    Message was edited by:
    user551318

  • Again the SUM and DISTINCT Problem (With SQL Statement)

    Here is the actual SQL,
    select
    NVL(l.pr_cust_prod,'zzzzz') A,
    NVL(l.pr_prod_code,'zzzzz') B,
    NVL(l.pr_lot_no,'zzzzz') C,
    NVL(l.db_waf_qty,'99999') lotQty,
    NVL(t.db_cust_po,'zzzzz') poNum,
    NVL(p.oe_po_line,'99999') poLineNum,
    i.db_shpmt_no invNum,
    from
    db_invoice i, db_line_lot l, db_inv_item t, db_prod_line p
    where
    l.db_shpmt_no like 'U388%'
    and i.db_invo_date > sysdate - 500
    and l.pr_run_type = 'PR'
    and l.db_shpmt_no = i.db_shpmt_no
    and l.db_shpmt_no = t.db_shpmt_no
    and l.db_item_no = t.db_item_no
    and p.db_ref_numa1 = t.db_tsmc_po
    and l.db_shpmt_no not in
    (select distinct db_shpmt_no from ftp_cust_ship
    where DB_MAST_ACCT='U388' and sys_name='SENT')
    and l.pr_prod_code like '%Z_'
    group by l.pr_lot_no, l.db_line_numb, l.pr_cust_prod, l.pr_prod_code,
    t.db_cust_po, i.db_delv_cod2, l.db_lot_desc, i.db_shpmt_no,
    p.oe_po_line
    order by lotNum
    the problem is that if I dont use SELECT DISTINCT at beginning
    the result is like
    F , LOTQTY , PONUM , POLINENUM
    DP8568.00,25 ,BVI10080 ,1
    DP8568.00,25 ,BVI10080 ,2
    DP8568.00,25 ,BVI10080 ,1
    DP8568.00,25 ,BVI10080 ,1
    DP8568.00,25 ,BVI10080 ,2
    DP8568.00,25 ,BVI10080 ,1
    DP8568.00,25 ,BVI10080 ,1
    DP8568.00,25 ,BVI10080 ,2 //pleae note the QTY and POLINENUM
    Then if Add SELECT DISTINCT, the result will be
    F ,LOTQTY , PONUM , POLINENUM
    DP8568.00,25 ,BVI10080,1
    DP8568.00,25 ,BVI10080,2
    but I change the NVL(l.db_waf_qty,'99999') lotQty, statement to NVL((SUM( l.db_waf_qty)),'99999') lotQty,
    this will give me the result
    F ,LOTQTY, PONUM , POLINENUM
    DP8568.00,75 , BVI10080 ,2
    DP8568.00,125 , BVI10080 ,1
    Which I excepted the result as
    F ,LOTQTY, PONUM , POLINENUM
    DP8568.00,25 , BVI10080 ,2
    DP8568.00,25 , BVI10080 ,1
    And Advise??
    Thanks a lot
    Jon

    based on the data set you given
    SQL>
    SQL> With t As
      2  (
      3  Select 'DP8568' c1 ,0.25 c2,'BVI10080' c3,1 c4 From dual Union All
      4  Select 'DP8568' ,0.25 ,'BVI10080' ,2           From dual Union All
      5  Select 'DP8568' ,0.25 ,'BVI10080' ,1           From dual Union All
      6  Select 'DP8568' ,0.25 ,'BVI10080' ,1           From dual Union All
      7  Select 'DP8568' ,0.25 ,'BVI10080' ,2           From dual Union All
      8  Select 'DP8568' ,0.25 ,'BVI10080' ,1           From dual Union All
      9  Select 'DP8568' ,0.25 ,'BVI10080' ,1           From dual Union All
    10  Select 'DP8568' ,0.25 ,'BVI10080' ,2           From dual
    11  )
    12  Select c1,
    13         sum(c2) lot_qty,
    14         c3,
    15         c4
    16  From
    17  (
    18    Select c1, --Sum(c2) over (Partition By c1,c4 Order By c4)
    19           row_number() over (Partition By c1,c4 Order By c4) rn,
    20           c2,
    21           c3,
    22           c4
    23    From t
    24  ) Where rn = 1
    25  Group By c1, c3, c4;
    C1        LOT_QTY C3               C4
    DP8568       0.25 BVI10080          2
    DP8568       0.25 BVI10080          1
    SQL>

  • Performance Problem in SQL Statement

    Hi,
    I am using a SELECT statement where the execution time is taking longer time:
    SELECT MSD,IMS,BOOK_IND FROM RW_TABLE,TABLE(GET_SUD)
    WHERE SERVED_MSISDN=MSD
    (MSD Column is a Object type from TABLE Function TABLE(GET_SUD) and (SERVED_MSISDN is a column of the table RW_TABLE)
    Any help will be needful for me
    Thanks and Regards

    Your query:
    SELECT MSD,IMS,BOOK_IND
    FROM RW_TABLE,TABLE(GET_SUD)
    WHERE SERVED_MSISDN=MSDYou reference two tables - RW_TABLE and GET_SUD - yet you have no join between them. Hence Oracle is doing a CARTESIAN PRODUCT between the two data sets. As each table or data set gets bigger, so will the results, and so will the elapsed time.
    You need to join the two tables together properly. Read a book on Relational Databases if you do not understand what a join is between tables, and why it is needed.
    I would also guess that you lack an index on the SERVED_MSISDN column on its own, or as the leading column in an index. Instead Oracle is reading every entry in an index to find any matching rows (FAST FULL SCAN CTVA_ETL.TEMP_INDX). So again, as the tables get bigger so the FULL SCAN of the whole index will take longer too.
    John
    [Database Performance Blog|http://databaseperformance.blogspot.com]

  • Problems with SQL statement

    Here is the problem that I have .. I have a table that gets updated every 30 minutes.. and the columns are:
    Day Shift MDate
    The data is as follows:
    wed M 09012003
    wed N 09012003
    thu M 09022003
    thu N 09022003
    I want a SQL or PL/SQL that can help me in grabbing the distinct MDate where I have the instance of both M and N in the shift.
    For the above data, I want to get distinct MDates as 09012003
    09022003
    But here is the problem; at some point in time say in the evening.. the data looks like this
    wed M 09012003
    wed N 09012003
    thu M 09022003
    For the above data, I want to get distinct MDates as 09012003
    This is because "day" column with "thu" does not have both the instances of M and N in the "shift" column
    Any help in this regard is highly appreciated..
    Thanks in advance

    Use 'group by' and 'having':
    create table ttest(Day varchar2(3), Shift varchar2(1), MDate varchar(8));
    insert into ttest values('wed', 'M', '09012003');
    insert into ttest values('wed', 'N', '09012003');
    insert into ttest values('thu', 'M', '09022003');
    insert into ttest values('thu', 'N', '09022003');
    select distinct mdate from ttest group by mdate having count(1) > 1;
    MDATE
    09012003
    09022003
    delete from ttest;
    insert into ttest values('wed', 'M', '09012003');
    insert into ttest values('wed', 'N', '09012003');
    insert into ttest values('thu', 'M', '09022003');
    select distinct mdate from ttest group by mdate having count(1) > 1;
    MDATE
    09012003

  • Problem with SQL statement - Missing double quote in identifier

    Hi
    I am unable to run the following query in TOAD.
    SELECT A.* FROM (SELECT VC.CAMPAIGN_NUMBER," +
                   "VC.CAMPAIGN_TITLE,VC.CAMPAIGN_DESC,VC.START_DATE,VC.END_DATE,VC.CAMPAIGN_TYPE,VC.APPLICABILITY," +
                   "VC.CAMPAIGN_PRIORITY FROM VM_CAMPAIGN VC WHERE VC.APPLICABILITY = 'Y' and VC.COUNTRY_CODE = ? " +
                   "and VC.LANGUAGE_CODE = ? AND VC.CAMPAIGN_TYPE = ? AND SYSDATE BETWEEN VC.START_DATE AND " +
                   "VC.END_DATE AND NOT EXISTS (SELECT 'X' FROM VM_CAMPAIGN_VIN VCV WHERE (VCV.VIN = ? AND " +
                   "VCV.CAMPAIGN_NUMBER = VC.CAMPAIGN_NUMBER))UNION SELECT VC.CAMPAIGN_NUMBER,VC.CAMPAIGN_TITLE," +
                   "VC.CAMPAIGN_DESC,VCV.START_DATE,VCV.END_DATE,VC.CAMPAIGN_TYPE,VC.APPLICABILITY,VC.CAMPAIGN_PRIORITY " +
                   "FROM VM_CAMPAIGN_VIN VCV ,VM_CAMPAIGN VC WHERE VCV.VIN = ? AND " +
                   "VCV.CAMPAIGN_NUMBER = VC.CAMPAIGN_NUMBER AND VC.COUNTRY_CODE = ? AND VC.LANGUAGE_CODE = ? AND " +
                   "VC.CAMPAIGN_TYPE = ? AND SYSDATE BETWEEN VCV.START_DATE AND VCV.END_DATE AND SYSDATE BETWEEN " +
                   "VC.START_DATE AND VC.END_DATE) A ORDER BY A.CAMPAIGN_PRIORITY DESC, A.END_DATE
    I am getting "Missing double quote in identifier"
    I am not sure how to rectify this SQL code. Any suggestions are welcome
    thanks in advance

    maybe this will work.
    SELECT A.*
      FROM (SELECT VC.CAMPAIGN_NUMBER,
                   VC.CAMPAIGN_TITLE,
                   VC.CAMPAIGN_DESC,
                   VC.START_DATE,
                   VC.END_DATE,
                   VC.CAMPAIGN_TYPE,VC.APPLICABILITY,
                   VC.CAMPAIGN_PRIORITY
              FROM VM_CAMPAIGN VC
             WHERE VC.APPLICABILITY = 'Y'
               And VC.COUNTRY_CODE =  '&country_code'
               And VC.LANGUAGE_CODE = '&language_code'
               AND VC.CAMPAIGN_TYPE = '&campaign_type'
               AND SYSDATE BETWEEN VC.START_DATE AND VC.END_DATE
               AND NOT EXISTS (SELECT 'X'
                                 FROM VM_CAMPAIGN_VIN VCV
                                WHERE (VCV.VIN = &VIN AND
                                       VCV.CAMPAIGN_NUMBER = VC.CAMPAIGN_NUMBER))
            UNION
            SELECT VC.CAMPAIGN_NUMBER,
                   VC.CAMPAIGN_TITLE,
                   VC.CAMPAIGN_DESC,
                   VCV.START_DATE,
                   VCV.END_DATE,
                   VC.CAMPAIGN_TYPE,
                   VC.APPLICABILITY,
                   VC.CAMPAIGN_PRIORITY
              FROM VM_CAMPAIGN_VIN VCV,
                   VM_CAMPAIGN VC
              WHERE VCV.VIN = &VIN
                AND VCV.CAMPAIGN_NUMBER = VC.CAMPAIGN_NUMBER
                AND VC.COUNTRY_CODE = '&country_code'
                AND VC.LANGUAGE_CODE = '&language_code'
                AND VC.CAMPAIGN_TYPE = '&campaign_type'
                AND SYSDATE BETWEEN VCV.START_DATE AND VCV.END_DATE
                AND SYSDATE BETWEEN VC.START_DATE AND VC.END_DATE) A
    ORDER BY A.CAMPAIGN_PRIORITY DESC, A.END_DATE

  • Problem in sql statement

    hi,
         how write this query in sap
    select timestamp,sum(compsubqty) from componentinfo where lotid ='U7084056.1'  and Compsubqty>0 having  sum(compsubqty)=25304 group by timestamp
    order by timestamp desc
    help me
    regards
    sivakumar

    Hi,
    You can use the query given by Raymond without the GROUP by clause, as it reduces the performance.
    SELECT timestamp sum( compsubqty )
        INTO (timestamp, sum_compsubqty)
        FROM componentinfo
        WHERE lotid = 'U7084056.1' AND compsubqty > 0
        HAVING SUM( compsubqty ) = 25304.
    After querying you can sort the internal table by timestamp.
    sort <itab> descending by timestamp.
    Hope this answers your question.
    Regards,
    Divya.

  • Can sql statement be passed as input to Database Adapter?

    Hi,
    We have requirement to execute the sql statements using database adapter.
    Pls let me know if it is feasible in BPEL using partnerlink copy operation of assign activity like we do for setting JNDI name dynamically.
    Thanks ,
    Dhanumjay

    Oracle Enterprise Manager provide Change Management capabilities, we do not at this stage plan to provide this capability within SQL Developer.
    See here [http://www.oracle.com/technology/products/oracle9i/datasheets/oem_change_management/9iR2_DS_EMCMPck.html] for more on Change Management within OEM.
    Regards
    Sue

Maybe you are looking for

  • How can I submit a httprequest in javascript

    I would like to submit the url like that : "ReportController?action=logout" in javascript, how can I do that? Because I have implemented a logout menthod for windows onbeforeunload event, which means when user close brower, the logout action will be

  • Itunes and quicktime do not work

    When i open itunes, there is a message saying that error has occured, and itunes must be closed, but no error number has shown. When I visit website with quicktime, a message says that an error ocurred inside a plugin inside the page. I did an update

  • BEx Query Designer,点击新建,选择信息范围时,提示:严重服务器错误

    各位好         我在新建bw query时,点击新建按钮,选择信息范围,然后就没反应了,估计10分钟后,弹出一个消息: 严重服务器错误 服务器会话可能已终止:此连接不再存在或不稳定 再次登录到服务器以创建新连接 getnodes: rfc exception 在st22中也查看了,是一个超时的error: The program "SAPLRZX0" has exceeded the maximum permitted runtime without interruption and h

  • Just upgraded and cannot send or reply to email

    I just bought a MacBook Pro (15"/216gHz/2gig ram) and transfered everything via firewire from my old PowerBook G4. When I attempt to reply or forward email, I click on the button (or use the menu) and absolutely nothing happens. I can click compose a

  • Custom XMP panels in Bridge don't properly set language alternative elements

    Using the Bridge Metadata panel, when you edit a custom field that uses the "langalt" type, Bridge doesn't handle this as a language alternative property--it saves the value as a simple text property. This was an issue when I first tried it in CS3 wi