What's wrong with my SQL statement?

Guys,
Please help me with this one.
I am using Oracle JDBC Driver 9.2.0. When I did "select column1, column2 from tableName where rownum<1000", it was really fast. But when I do "select column1, column2 from tableName where rownum between 100 and 200", it won't return. The whole program just sit there, like there is some kind of infinite loop going on or something. I don't know Oracle database at all. Is there anything wrong with my SQL statements or there is some special Oracle SQL statement requirement/syntax?
Thanks.

Guys,
Please help me with this one.
I am using Oracle JDBC Driver 9.2.0. When I did
"select column1, column2 from tableName where
rownum<1000", it was really fast. But when I do
"select column1, column2 from tableName where rownum
between 100 and 200", it won't return. The whole
program just sit there, like there is some kind of
infinite loop going on or something. I don't know
Oracle database at all. Is there anything wrong with
my SQL statements or there is some special Oracle SQL
statement requirement/syntax?
Thanks.
why don't you just try a standard WHERE
"select column1, column2 from tableName where rownum > 100 and rownum < 200"

Similar Messages

  • Can anybody see what is wrong with this SQL statement?

    Hey guys, just a quick question. Can anybody tell me what is wrong with this line of SQL? I keep getting a syntax error message. I've been trying for ages and I can't see any problem at all!"
    {code}prepStat = connection.prepareStatement("INSERT INTO WeatherHistory (Date, Location, Overview, Temperature, WindDirection, WindSpeed, Pressure) VALUES ('"+date+"','"+location+"','"+temp+"','"+windDir+"','"+windSpd+"','"+pressure+"')");{code}
    All the field names and variables definitely exist so I can't see what the problem is!

    DHD wrote:
    Thanks for the replies.
    I've matched the correct number of column names and variables, but still no luck.
    And how exactly am I misusing Prepared Statements here?As noted above, not according to the code you posted. I didn't just pluck something out of my @ss and throw it out there. There was a reason behind what I said. And, if you mean you changed it, and you still got an exception, then post that exception (completely), and your new code, which is, hopefully, using PreparedStatement, (properly).

  • What's wrong with this SQL Statement?

    I hope somebody can help explain to me what is wrong wiht the
    following SQL statement in my Recordest. It does not return an
    error, but it will only filter records from the first variable
    listed, 'varFirstName%'. If I try to use any other variables on my
    search form,for example LastName, it returns all records. Why is it
    doing this?
    Here is the SQL statement:
    SELECT *
    FROM [Sysco Food Show Contacts]
    WHERE FirstName LIKE 'varFirstName%' AND LastName LIKE
    'varLastName%' AND OrganizationName LIKE 'varOrganizationName%' AND
    Address LIKE 'varAddress%' AND City LIKE 'varCity%' AND State LIKE
    'varState' AND PostalCode LIKE 'varPostalCode%'
    The variables are defined as below:
    Name Default Value Run-Time Value
    varFirstName % Request.Form("FirstName")
    varLastName % Request.Form("LastName")
    ...and such with all variables defined the same way.
    Any help would be much appreciated. I am pulling my hair out
    trying to make this Search Form work.
    Thanks, mparsons2000

    PLEASE IGONRE THIS QUESTION!
    There was nothing wrong with the statement. I had made
    another STUDIP mistake!

  • What is wrong with my SQL Statement

    I am getting errors when trying to apply an SQL statement to a report, and I can't figure it out. The error reads: "Syntax error (missing operator) in the query expression 'Title = "Sales Representative"'. Could someone please tell
    me where it is I have gone wrong? The statement is suppose to show records of employees that have Sales Representative as their Title. This is what I came up with:
    SELECT * FROM Employees WHERE Title = “Sales Representative” 

    Try putting brackets around table and field names.  
    I found wrong kind of double quote also ---
    SELECT [Employees].* FROM [Employees] WHERE
    [Employees].[Title] = "Sales Representative"; 
    Build a little, test a little

  • Whats wrong with this sql statement ??

    Hello all, I am trying to run the below query out of persheet(tanel poder) performance excel chart...but i get below error...db is on 9.2
    what is wrong with this sql statement ?
    http://blog.tanelpoder.com/2008/12/28/performance-visualization-made-easy-perfsheet-20-beta/
    select * from (
    with fsq as (
      select /*+ materialize */
       i.dbid
        , i.instance_name
        , i.instance_number
    --    , trunc(s.snap_time, 'DD')     DAY
    --    , to_number(to_char(s.snap_time, 'HH24'))  HOUR
    --   -- , to_char(s.snap_time, 'MI')    MINUTE
    --    , 0           MINUTE
        , trunc(
          lag(s.snap_time, 1)
          over(
           partition by
          v.dbid
           , i.instance_name
           , v.instance_number
           , v.event
         order by
          s.snap_time
          , 'HH24'
         )           SNAP_TIME
        , v.event_type        EVENT_TYPE
        , v.event          EVENT_NAME
        , nvl(
        decode(
         greatest(
          time_waited_micro,
          nvl(
           lag(time_waited_micro,1,0)
           over(
            partition by
             v.dbid
              , i.instance_name
              , v.instance_number
              , v.event
            order by v.snap_id
           , time_waited_micro
         time_waited_micro,
         time_waited_micro - lag(time_waited_micro,1,0)
         over (
          partition by
           v.dbid
            , i.instance_name
            , v.instance_number
            , v.event
          order by v.snap_id
         time_waited_micro
           , time_waited_micro
         ) / 1000000         SECONDS_SPENT
        , total_waits         WAIT_COUNT
      from
       (select distinct dbid, instance_name, instance_number from stats$database_instance) i
        , stats$snapshot s
        , ( select
         snap_id, dbid, instance_number, 'WAIT' event_type, event, time_waited_micro, total_waits
        from
         stats$system_event
        where
         event not in (select event from stats$idle_event)
        union all
        select
         snap_id, dbid, instance_number,
         case
          when name in ('CPU used by this session', 'parse time cpu', 'recursive cpu usage') then 'CPU'
          when name like 'OS % time' then 'OS'
          else 'STAT'
         end,
         name , value, 1
        from
         stats$sysstat
    --    where      name in ('CPU used by this session', 'parse time cpu', 'recursive cpu usage')
    --    or  name like('OS % time')
    --    or 1 = 2 -- this will be a bind variable controlling whether all stats need to be returned
       ) v
      where
       i.dbid = s.dbid
      and i.dbid = v.dbid
      and s.dbid = v.dbid
      and s.snap_id = v.snap_id
      and s.snap_time between '%FROM_DATE%' and '%TO_DATE%'
      and i.instance_name = '%INSTANCE%'
    select * from (
      select
       instance_name
        , instance_number
        , snap_time
        , trunc(snap_time, 'DD')  DAY
        , to_char(snap_time, 'HH24') HOUR
        , to_char(snap_time, 'MI') MINUTE      
        , event_type  
        , event_name  
        , seconds_spent
        , wait_count  
        , ratio_to_report(seconds_spent) over (
    --      partition by (to_char(day, 'YYYYMMDD')||to_char(hour,'09')||to_char(minute, '09'))
          partition by (snap_time)
          ) ratio
      from fsq
      where
       snap_time is not null -- lag(s.snap_time, 1) function above will leave time NULL for first snapshot
      -- to_char(day, 'YYYYMMDD')||to_char(hour,'09')||to_char(minute, '09')
      -- > ( select min(to_char(day, 'YYYYMMDD')||to_char(hour,'09')||to_char(minute, '09')) from fsq)
    where ratio > 0
    order by
        instance_name
      , instance_number
      , day
      , hour
      , minute
      , event_type
      , seconds_spent desc
      , wait_count desc
    Error at line 6
    ORA-00604: error occurred at recursive SQL level 1
    ORA-00972: identifier is too long

    Hi Alex,
    Subquery factoring a.k.a. the with-clause should be possible on 9.2:
    http://download.oracle.com/docs/cd/B10501_01/server.920/a96540/statements_103a.htm#2075888
    (used it myself as well on 9.2)
    @OP
    I recall having problems myself using PL/SQL Developer and trying to get the with clause to work on 9.2 some years ago.
    A workaround might be to create a view based on the query.
    Also, your error message is "ORA-00972: identifier is too long"...
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14219/e900.htm#sthref419
    Can't test things currently, no 9.2 available at the moment, but perhaps tomorrow I'll have a chance.

  • What's wrong with this SQL?

    what's wrong with this SQL?
    Posted: Jan 16, 2007 9:35 AM Reply
    Hi, everyone:
    when I insert into table, i use the fellowing SQL:
    INSERT INTO xhealthcall_script_data
    (XHC_CALL_ENDED, XHC_SWITCH_PORT, XHC_SCRIPT_ID, XHC_FAX_SPECIFIED)
    VALUES (SELECT TO_DATE(HH_END_DATE||' '||HH_END_TIME,'MM/DD/YY HH24:MI:SS'), HH_SWITCHPORT, HH_SCRIPT,'N'
    FROM tmp_healthhit_load WHERE HH_SCRIPT !='BROCHURE' UNION
    SELECT TO_DATE(HH_END_DATE||' '||HH_END_TIME,'MM/DD/YY HH24:MI:SS'), HH_SWITCHPORT, HH_SCRIPT,'N' FROM tmp_healthhit_load WHERE HH_SCRIPT !='BROCHURE');
    I always got an error like;
    VALUES (SELECT TO_DATE(HH_END_DATE||' '||HH_END_TIME,'MM/DD/YY HH24:MI:SS'), HH_SWITCHPORT,
    ERROR at line 3:
    ORA-00936: missing expression
    but I can't find anything wrong, who can tell me why?
    thank you so much in advance
    mpowel01
    Posts: 1,516
    Registered: 12/7/98
    Re: what's wrong with this SQL?
    Posted: Jan 16, 2007 9:38 AM in response to: jerrygreat Reply
    For starters, an insert select does not have a values clause.
    HTH -- Mark D Powell --
    PP
    Posts: 41
    From: q
    Registered: 8/10/06
    Re: what's wrong with this SQL?
    Posted: Jan 16, 2007 9:48 AM in response to: mpowel01 Reply
    Even I see "missing VALUES" as the only error
    Eric H
    Posts: 2,822
    Registered: 10/15/98
    Re: what's wrong with this SQL?
    Posted: Jan 16, 2007 9:54 AM in response to: jerrygreat Reply
    ...and why are you doing a UNION on the exact same two queries?
    (SELECT TO_DATE(HH_END_DATE||' '||HH_END_TIME,'MM/DD/YY HH24:MI:SS') ,HH_SWITCHPORT ,HH_SCRIPT ,'N' FROM tmp_healthhit_load WHERE HH_SCRIPT !='BROCHURE' UNION SELECT TO_DATE(HH_END_DATE||' '||HH_END_TIME,'MM/DD/YY HH24:MI:SS') ,HH_SWITCHPORT ,HH_SCRIPT ,'N' FROM tmp_healthhit_load WHERE HH_SCRIPT !='BROCHURE');
    jerrygreat
    Posts: 8
    Registered: 1/3/07
    Re: what's wrong with this SQL?
    Posted: Jan 16, 2007 9:55 AM in response to: mpowel01 Reply
    Hi,
    thank you for your answer, but the problem is, if I deleted "values" as you pointed out, and then execute it again, I got error like "ERROR at line 3:
    ORA-03113: end-of-file on communication channel", and I was then disconnected with server, I have to relogin SQLplus, and do everything from beganing.
    so what 's wrong caused disconnection, I can't find any triggers related. it is so wired?
    I wonder if anyone can help me about this.
    thank you very much
    jerry
    yingkuan
    Posts: 1,801
    From: San Jose, CA
    Registered: 10/8/98
    Re: what's wrong with this SQL?
    Posted: Jan 16, 2007 9:59 AM in response to: jerrygreat Reply
    Dup Post
    jerrygreat
    Posts: 8
    Registered: 1/3/07
    Re: what's wrong with this SQL?
    Posted: Jan 16, 2007 10:00 AM in response to: Eric H Reply
    Hi,
    acturlly what I do is debugging a previous developer's scipt for data loading, this script was called by Cron work, but it never can be successfully executed.
    I think he use union for eliminating duplications of rows, I just guess.
    thank you
    jerry
    mpowel01
    Posts: 1,516
    Registered: 12/7/98
    Re: what's wrong with this SQL?
    Posted: Jan 16, 2007 10:03 AM in response to: yingkuan Reply
    Scratch the VALUES keyword then make sure that the select list matches the column list in number and type.
    1 insert into marktest
    2 (fld1, fld2, fld3, fld4, fld5)
    3* select * from marktest
    UT1 > /
    16 rows created.
    HTH -- Mark D Powell --
    Jagan
    Posts: 41
    From: Hyderabad
    Registered: 7/21/06
    Re: what's wrong with this SQL?
    Posted: Jan 16, 2007 10:07 AM in response to: jerrygreat Reply
    try this - just paste the code and give me the error- i mean past the entire error as it is if error occurs
    INSERT INTO xhealthcall_script_data
    (xhc_call_ended, xhc_switch_port, xhc_script_id,
    xhc_fax_specified)
    SELECT TO_DATE (hh_end_date || ' ' || hh_end_time, 'MM/DD/YY HH24:MI:SS'),
    hh_switchport, hh_script, 'N'
    FROM tmp_healthhit_load
    WHERE hh_script != 'BROCHURE'
    UNION
    SELECT TO_DATE (hh_end_date || ' ' || hh_end_time, 'MM/DD/YY HH24:MI:SS'),
    hh_switchport, hh_script, 'N'
    FROM tmp_healthhit_load
    WHERE hh_script != 'BROCHURE';
    Regards
    Jagan
    jerrygreat
    Posts: 8
    Registered: 1/3/07
    Re: what's wrong with this SQL?
    Posted: Jan 16, 2007 11:31 AM in response to: Jagan Reply
    Hi, Jagan:
    thank you very much for your answer.
    but when I execute it, I still can get error like:
    ERROR at line 1:
    ORA-03113: end-of-file on communication channel
    so wired, do you have any ideas?
    thank you very much

    And this one,
    Aother question about SQL?
    I thought I already told him to deal with
    ORA-03113: end-of-file on communication channel
    problem first.
    There's nothing wrong (syntax wise) with the query. (of course when no "value" in the insert)

  • Can you see what's wrong with my sql clause?

    Select afkogltri sum( afpowemng ) as yqty
        from   ( afpo inner join afko on afpoaufnr = afkoaufnr )
        into   ( d_gltri , d_wemng )
        where  afpo~matnr = wa_pir-matnr
               and year( afko~gltri ) = year( sy-datum )
        group by afko~gltri. 
    The above is my sql clause, when I do a syntax check, it said:"Comma without preceding colon (after SELECT ?)"
    Can you tell me what's wrong with this sql clause?
    Thank you very much!

    Hi,
    Select Bgltri sum( Awemng ) <b>as yqty</b> (????)
    into ( d_gltri , d_wemng )
    from afpo as A inner join afko as B
    on Aaufnr = Baufnr 
    where A~matnr = wa_pir-matnr
    and year( B~gltri ) = year( sy-datum )
    group by B~gltri.
    ENDSELECT.
    eg<b>:... INTO (f1, ..., fn</b>)
    Places the result set in the target area (f1, ..., fn). The fields of the result set are transported to the target fields fi from left to right. INTO (f1, ..., fn) is allowed only if a list with n elements is also specified in the SELECT clause.
    <b>If the result of a selection is a table, the data is retrieved in a processing loop introduced by SELECT and concluded by ENDSELECT. The processing passes through the loop once for each line read. If the result is a single record, the closing ENDSELECT is omitted.</b>
    Example
    Output a list of all airlines (with short description and name):
    TABLES SCARR.
    DATA:  CARRID   LIKE SCARR-CARRID,
           CARRNAME LIKE SCARR-CARRNAME,
    SELECT CARRID CARRNAME
           INTO (CARRID, CARRNAME)
           FROM SCARR.
      WRITE: / CARRID, CARRNAME.
    ENDSELECT
    Thanks & Regards,
    Judith.

  • What's wrong with my XPath statement using dom4j?

    I'm pretty new to XML. However, I did pick up a book and I'm pretty much through it. I got a copy of dom4j and I created a sample XML file. I'm able to parse the data and find out the child elements of root but I'm having problems with using XPath no matter what I do. Here's my code:
    import org.dom4j.*;
    import org.dom4j.io.*;
    import java.util.*;
    import java.io.*;
    public class XMLACL {
      org.dom4j.Document doc;
      org.dom4j.Element root;
      XMLACL(String x) {
        String tempFile = System.getProperty("user.dir") + "/winsudo.xml";
        tempFile = tempFile.replace('\\', '/');
        SAXReader xmlReader = new SAXReader();
        try {
          doc = xmlReader.read(tempFile);
        catch (Exception e) {}
        root = doc.getRootElement();
        //treeWalk();
        //iterateRootChildren("grant");
        XPath xpathSelector = DocumentHelper.createXPath("/grant[@prompt='no']");  
        List results = xpathSelector.selectNodes(doc);
        for (Iterator iter = results.iterator(); iter.hasNext(); ) {
         Element element = (Element) iter.next();
          System.out.println(element.getName());
    }And here's my XML:
    <?xml version="1.0" encoding="UTF-8"?>
    <config>
         <alias name="admin">
              <user>geneanthony</user>
              <user>mike</user>
              <user>rob</user>
         </alias>
         <grant prompt="no" runas="root" service="no">
              <user>geneanthony</user>
              <command>!ALL</command>
         </grant>
         <grant>
              <user>geneanthony</user>
              <group>users</group>
              <command>C:/Program Files/Mozilla Firefox/firefox.exe</command>
         </grant>
         <grant>
              <alias>admin</alias>
              <command>!Panels</command>
         </grant>
    </config>I'm currently getting this error:
    C:\Borland\JBuilder2005\jdk1.4\bin\javaw -classpath "C:\code\java\WinSudo\classes;C:\Borland\JBuilder2005\jdk1.4\jre\javaws\javaws.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\charsets.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\ext\dnsns.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\ext\ldapsec.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\ext\localedata.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\ext\sunjce_provider.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\im\indicim.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\im\thaiim.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\jce.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\jsse.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\plugin.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\rt.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\sunrsasign.jar;C:\Borland\JBuilder2005\jdk1.4\lib\dt.jar;C:\Borland\JBuilder2005\jdk1.4\lib\htmlconverter.jar;C:\Borland\JBuilder2005\jdk1.4\lib\tools.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\jRegistryKey.jar;C:\Borland\JBuilder2005\jdk1.4\lib\hsqldb.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\dom4j-1.6.1.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\syntax.jar;C:\Borland\JBuilder2005\jdk1.4\jre\lib\IzPack-install-3.7.2.jar" winsudo.Main
    java.lang.NoClassDefFoundError: org/jaxen/JaxenException
         at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230)
         at org.dom4j.DocumentHelper.createXPath(DocumentHelper.java:121)
         at winsudo.XMLACL.<init>(XMLACL.java:26)
         at winsudo.Main.main(Main.java:15)
    Exception in thread "main"
    Can someone tell me what's wrong with my code. None of the samples I've seen came with the XML files so I don't know if I when I start the XPATH I need to use / for the root element, or // or a forward slash and the root name. Can I please get some help!

    Thank you! I didn't haven Jaxen I thought everything was in the package and I must have missed it in the tutorials. That resolved the dropouts and I think I'm good know. I couldn't think for the life of me what I was doing wrong!

  • What is wrong with my SQL Keeps Errroring out I cannot see where!  HELP

    SELECT
    PATIENT.NAMELAST,
    PATIENT.NAMEFIRST,
    PATIENT.NAMEINITIAL,
    PATIENT.GENDER,
    PATIENT.DOB,
    PATIENT.IDNO_0,
    ANALYT.CODE,
    CPT.CODE,
    TESTREQ.COLLECTED,
    ENTORDER.ENTORDERNO,
    TESTREQ.STATUS,
    TESTREQ.STATUSDATE,
    IT.INSCODE,
    ANALYT.DESCRIPTION,
    RPT_PTRESULT_PROF.VALUE
    FROM
    ((((((((PWLDBA.TESTREQ TESTREQ
    INNER JOIN PWLDBA.ENTORDER ENTORDER
    ON TESTREQ.ENTORDERKEY=ENTORDER.ENTORDERKEY)
    LEFT OUTER JOIN PWLDBA.TESTPRICE
    ON TESTREQ.TESTKEY=TESTPRICE.TESTKEY)
    INNER JOIN PWLDBA.RPT_PTRESULT_PROF)
    ON TESTREQ.TESTREQKEY=RPT_PTRESULT_PROF.TESTREQKEY)
    INNER JOIN PWLDBA.ANALYT
    ON RPT_PTRESULT_PROF.ANALYTKEY=ANALYT.ANALYTKEY)
    INNER JOIN PWLDBA.PATIENT
    ON ENTORDER.PATIENTKEY=PATIENT.PATIENTKEY)
    LEFT OUTER JOIN PWLDBA.IT
    ON PATIENT.ITKEY=IT.ITKEY)
    LEFT OUTER JOIN PWLDBA.CPTCHARGE
    ON TESTPRICE.BASE_CPTARRAYKEY=CPTCHARGE.CPTARRAYKEY)
    LEFT OUTER JOIN PWLDBA.CPT
    ON CPTCHARGE.CPTKEY=CPT.CPTKEY
    WHERE
    TESTREQ.STATUS='D'
    ORDER BY TESTREQ.STATUSDATE

    Always format SQL statement - then it is much easier to spot syntax errors (see comments I left in your code):
    SELECT  PATIENT.NAMELAST,
            PATIENT.NAMEFIRST,
            PATIENT.NAMEINITIAL,
            PATIENT.GENDER,
            PATIENT.DOB,
            PATIENT.IDNO_0,
            ANALYT.CODE,
            CPT.CODE,
            TESTREQ.COLLECTED,
            ENTORDER.ENTORDERNO,
            TESTREQ.STATUS,
            TESTREQ.STATUSDATE,
            IT.INSCODE,
            ANALYT.DESCRIPTION,
            RPT_PTRESULT_PROF.VALUE
      FROM  (
                                                    PWLDBA.TESTREQ TESTREQ
                                                INNER JOIN
                                                    PWLDBA.ENTORDER ENTORDER
                                                  ON TESTREQ.ENTORDERKEY=ENTORDER.ENTORDERKEY
                                           LEFT OUTER JOIN
                                               PWLDBA.TESTPRICE
                                             ON TESTREQ.TESTKEY=TESTPRICE.TESTKEY
                                      INNER JOIN
                                          PWLDBA.RPT_PTRESULT_PROF) -- unnecessary parenthesis
                                        ON TESTREQ.TESTREQKEY=RPT_PTRESULT_PROF.TESTREQKEY
                                 INNER JOIN
                                     PWLDBA.ANALYT
                                   ON RPT_PTRESULT_PROF.ANALYTKEY=ANALYT.ANALYTKEY
                            INNER JOIN
                                PWLDBA.PATIENT
                              ON ENTORDER.PATIENTKEY=PATIENT.PATIENTKEY
                       LEFT OUTER JOIN
                           PWLDBA.IT
                         ON PATIENT.ITKEY=IT.ITKEY
                  LEFT OUTER JOIN
                      PWLDBA.CPTCHARGE
                    ON TESTPRICE.BASE_CPTARRAYKEY=CPTCHARGE.CPTARRAYKEY
             LEFT OUTER JOIN
                 PWLDBA.CPT
               ON CPTCHARGE.CPTKEY=CPT.CPTKEY
            ) -- missing parenthesis
      WHERE TESTREQ.STATUS='D'
      ORDER BY TESTREQ.STATUSDATE
    /SY.

  • What's wrong with this SQL Syntax?

    Hello:
    I am using SQL Navigator. The following SQL statement does not get executed:
    SELECT * from CODE A
    LEFT OUTER JOIN CODELIST B
    on A.codelist_ID = B.Codelist_ID
    It says that the statement is not properly ended. Can somebody educate me?
    Thanks.
    Venki

    SELECT * from CODE A LEFT OUTER JOIN CODELIST B
       ON A.codelist_ID = B.Codelist_IDother than the above query do you have any other SELECT statements in the same editor window?

  • What's wrong with this sql query?  Help

    hi
    i am having difficulty executing this query
    ResultSet s=st.executeQuery("select * from employee where iden = ?"+id);
    here in my program st is statement obg
    iden is attribute name in table
    id i am getting at run time from user
    please help...it says wrong number of parameters
    thank you

    That's correct, get rid of the Question mark. Questions marks are used in PreparedStatements, but they are also used in pattern matching. I am assuming the iden is the table identity. Therefore, I am assuming it is numeric. If so, you can't use the question mark because pattern matching is only done with strings. If you are treating your statement as a PreparedStatement, then you have done it wrong. (See the API) Here is a code snippet from the API:PreparedStatement pstmt =     
       con.prepareStatement("UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?");
    pstmt.setBigDecimal(1, 153833.00)
    pstmt.setInt(2, 110592)It seems you are using a Statement object, so, you need to get rid of that question mark.
    tajenkins

  • What is wrong with this INSERT statement?

    I know this has been covered many times but I cannot figure out why I am getting a syntax error for this prepared Statement INSERT...any help is greatly appreciated:
    PreparedStatement pstmt = con.prepareStatement("insert into hold (idnum, date_field) values (?,?)");
    pstmt.setString(1, idnum);
    pstmt.setString(2, date_field);
    pstmt.executeUpdate();
    thanks,
    Chuck

    still have trouble, cannot find an answer that works in the forum anywhere. Using Access 2000 trying to INSERT into a memo field I am getting an error, "SQLException caught: [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement. ". I have the following code:
    first I am getting the parameter (using a servlet) from the form submit:
    String desc = req.getParameter("desc");
    then, I am using a prepared Statement:
    PreparedStatement pstmt = con.prepareStatement("insert into hold (idnum, date_field, time_field, author, title, desc) values (?,?,?,?,?,?)");
    pstmt.setString(1, idnum);
    pstmt.setString(2, date_field);
    pstmt.setString(3, time_field);
    pstmt.setString(4, author);
    pstmt.setString(5, title);
    pstmt.setObject(6, desc, java.sql.Types.LONGVARCHAR);
    pstmt.executeUpdate();
    incidentally, the text string is only 20 characters in my tests.
    Any help is greatly appreciated (or working code examples)
    thanks in advance,
    Chuck

  • What is wrong with this update statement

    Hi all,
    I am trying to create a simple update program that allows user to enter table name, key fields and one field to update and its value.
    But report goes into dump at update statement?
    Here is the code:
    REPORT  ZTABLE_UPDATE.
    parameters: tabname(18).
    PARAMETERS: key1(15),"use at where condition
                key1val(20),
                key2(15),"use at where condition
                key2val(20),
                field2(15)."field to be updated
    PARAMETERS: yenideg1(20),
                yenideg2(20).
    CONDENSE: tabname, field2,
              yenideg1, yenideg2,
              key1val, key2val,
              key1, key2.
    data: wa like tabname.
    *update (tabname) SET field2 = yenideg1*
                     *WHERE key1 like key1val and key2 like key2val.*if sy-subrc eq 0.
      SELECT SINGLE * FROM (tabname) INTO wa
                      WHERE key1 like key1val
                        and key2 like key2val.
        WRITE / wa. "to test whether replacement is ok.
    endif.
    Thanks in advance.
    Deniz

    Hi:
    follows is ok:
    DATA: dy_table TYPE REF TO data,
          dy_line  TYPE REF TO data,
          ifc TYPE lvc_t_fcat,
          xfc TYPE lvc_s_fcat.
    DATA: it_clrs_fields LIKE TABLE OF dfies WITH HEADER LINE.
    DATA: cond(72) TYPE c,
          itab LIKE TABLE OF cond,
          itab2 LIKE TABLE OF cond.
    FIELD-SYMBOLS: <dyn_table> TYPE STANDARD TABLE,
                 <dyn_wa>,
                 <dyn_field>,
                 <fs>.
    PARAMETERS: tabname TYPE ddobjname OBLIGATORY.
    PARAMETERS: key1(15) OBLIGATORY,"use at where condition
                key1val(20) OBLIGATORY,
                key2(15),"use at where condition
                key2val(20),
                field2(15)."field to be updated
    PARAMETERS: yenideg1(20),
                yenideg2(20).
    ***START
    CONDENSE: tabname, field2,
              yenideg1, yenideg2,
              key1val, key2val,
              key1, key2.
    CALL FUNCTION 'DDIF_FIELDINFO_GET'
      EXPORTING
        tabname              = tabname
    TABLES
       dfies_tab            = it_clrs_fields[]
      FIXED_VALUES         =
    EXCEPTIONS
       not_found            = 1
       internal_error       = 2
       OTHERS               = 3
    LOOP AT  it_clrs_fields .
      MOVE-CORRESPONDING it_clrs_fields TO xfc.
      APPEND xfc TO ifc.
      CLEAR: xfc.
    ENDLOOP.
    CALL METHOD cl_alv_table_create=>create_dynamic_table
      EXPORTING
        it_fieldcatalog = ifc
      IMPORTING
        ep_table        = dy_table.
    ASSIGN dy_table->* TO <dyn_table>.
    CREATE DATA dy_line LIKE LINE OF <dyn_table>.
    ASSIGN dy_line->* TO <dyn_wa>.
    CLEAR COND.
    CONCATENATE key1 ' = ''' key1val '''' 'AND' INTO cond.
    APPEND cond TO itab.
    CLEAR COND.
    CONCATENATE key2 ' = ''' key2val '''' INTO cond.
    APPEND cond TO itab.
    SELECT  *
      INTO <dyn_wa>
      FROM (tabname)
       WHERE (itab).
    ENDSELECT.
    IF sy-subrc <> 0.
      WRITE / 'no this data in dbtab'.
      EXIT.
    ENDIF.
    CLEAR COND.
    CONCATENATE field2 ' = ''' yenideg1 '''' INTO cond.
    UPDATE (tabname) SET (cond)
                    WHERE (itab).
    IF sy-subrc EQ 0.
      SELECT SINGLE * FROM (tabname) INTO <dyn_wa>
                      WHERE (itab).
    WRITE / <dyn_wa>. "to test whether replacement is ok.
    ENDIF.
    you alse can use:
    FM: VIEW_MAINTENANCE_CALL can used to do table maintenance.
    note:
    1.to do Table Maintenance Generator.
    2.be authorized to to use tansaction sm30.
    好运,
    启明星

  • Help requested: WHAT IS WRONG WITH THIS sql?

    I have two tables
    TABLE1
    ORG VARCHAR2(1)
    EMPNO VARCHAR2(10)
    UNION_DUES NUMBER(7,2)
    UNION_CODE VARCHAR2(5)
    TABLE2
    ORG VARCHAR2(1)
    EMPNO VARCHAR2(10)
    YEAR NUMBER(4)
    CODE2 VARCHAR2(5)
    EMPLOYEE_FIXED_AMOUNT NUMBER (7,2)
    ****** WHAT DO I WANT TO DO *****
    there is one entry for each employee in TABLE1. There are multiple entries for each employee in TABLE2. I want to update TABLE2 for all the employees in TABLE1.
    But only update those entries in TABLE2 where CODE2 = UNION_CODE and YEAR = 2002.
    ***** MY SQL ******
    update TABLE2
    set employee_fixed_amount =
    (select union_dues from TABLE1
    WHERE TABLE2.EMPNO = TABLE1.empno
    and TABLE2.org = TABLE1.org
    and TABLE2.code2 = TABLE1.union_code)
    where year = 2002;
    **** ORACLE ERROR PRODUCED ****
    ora-01407cannot update (table2.employee_fixed_amount) to null

    Either you have a NULL value for table1.union_dues or there is no match in table1 based on your criteria. So, you can check for these by:
    update TABLE2
       set employee_fixed_amount =
             (select union_dues
                from TABLE1
               where TABLE2.EMPNO = TABLE1.empno
                 and TABLE2.org = TABLE1.org
                 and TABLE2.code2 = TABLE1.union_code)
    where year = 2002
       and exists (select null
                     from table1
                    where table1.empno = table2.empno
                      and table1.org = table2.org
                      and table1.union_code = table2.code2
                      and table1.union_dues is not null);or, if it is alright that the employee_fixed_amount be set to 0 when there is no match or the union_dues is NULL, then:
    update TABLE2
       set employee_fixed_amount =
             nvl((select union_dues
                    from TABLE1
                   where TABLE2.EMPNO = TABLE1.empno
                     and TABLE2.org = TABLE1.org
                     and TABLE2.code2 = TABLE1.union_code), 0)
    where year = 2002;

  • What's wrong with the if-statement

    the last else-branch is  not executed... why?
                    if wa_not_existing_values-node_value(4) = co_area and wa_not_existing_values-node_value(5) <> str_cctr_chr.
                      str_cctr = wa_not_existing_values-node_value+4.
                    elseif  strlen( wa_not_existing_values-node_value ) >= 5.
                        if wa_not_existing_values-node_value(5) = str_cctr_chr.
                            str_cctr = wa_not_existing_values-node_value+5.
                        endif.   
                    else.
                      str_cctr = wa_not_existing_values-node_value.
                    endif.

    hi,
    if wa_not_existing_values-node_value(4) = co_area and  
       wa_not_existing_values-node_value(5) <> str_cctr_chr.
    if this condition is satisfied then,
        str_cctr = wa_not_existing_values-node_value+4.
    will be executed and control comes out of if statement.
    if the above condition is not satisfied then the control comes to below statement
    elseif  strlen( wa_not_existing_values-node_value ) >= 5.
    if this condition is satisfied then the below condition is checked
       if wa_not_existing_values-node_value(5) = str_cctr_chr.
    if this condition is satisfied then, the below statement gets executed and control comes out of if statement
       str_cctr = wa_not_existing_values-node_value+5.
    if the condition wa_not_existing_values-node_value(5) = str_cctr_chr. is not satisfied then the below statement gets executed
       str_cctr = wa_not_existing_values-node_value.
    so when , wa_not_existing_values-node_value(4) = co_area and wa_not_existing_values-node_value(5) <> str_cctr_chr
    and strlen( wa_not_existing_values-node_value ) >= 5.
    are false then then the control comes to else statement which u require
    regards,
    Sreekanth

Maybe you are looking for