Problem looping insert query

I'm working on inserting a recordset up Google Calendar entries into my site database. I have a form set up that allows me to insert new entries into the data table, but when I try to loop the insert query over the Google recordset, I get nothing (no errors, but no entries added to database).
Here's my form, which both displays the values from the Google query and populates fields (mostly hidden) with those values to submit to the Insert query. There's also a line that checks to make sure the event hasn't been canceled (canceled events are still listed, the start and end times are just set to null values):
<form method="post" action="<cfoutput>#CurrentPage#</cfoutput>">
<table cellpadding="2" border="1">
<cfset thisRow = 0>
<cfloop query="band_events">
<cfif IsDefined("starttime") AND IsDefined("endtime") AND starttime NEQ "" AND endtime NEQ "">
<cfset thisRow = thisRow + 1>
<cfoutput>
<tr>
  <td>#thisRow#</td>
  <td><input name="update#thisRow#" type="checkbox" checked="checked" /></td>
  <td><input name="calendar#thisRow#" type="hidden" value="Band" />Band</td>
  <td><input name="creator#thisRow#" type="hidden" value="#authoremail#" />#authoremail#</td>
  <td><input name="starttime#thisRow#" type="hidden" value="#starttime#" />#starttime#</td>
  <td><input name="endtime#thisRow#" type="hidden" value="#endtime#" />#endtime#</td>
  <td><input name="title#thisRow#" type="hidden" value="#title#" />#title#</td>
  <td><input name="content#thisRow#" type="hidden" value="#content#" />#content#</td>
  <td><input name="location#thisRow#" type="hidden" value="#where#" />#where#</td>
  <td><input name="ID#thisRow#" type="hidden" value="#ID#" />#ID#</td>
  <td><input name="published#thisRow#" type="hidden" value="#ISOToDateTime(published)#" />#ISOToDateTime(published)#</td>
  <td><input name="updated#thisRow#" type="hidden" value="#ISOToDateTime(updated)#" />#ISOToDateTime(updated)#</td>
</tr>
</cfoutput>
</cfif>
</cfloop>
</table>
<input type="hidden" name="totalRows" value="#row#" />
<input type="submit" name="submit" value="Submit" />
<input type="hidden" name="update_events" value="update_events" />
</form>
Here's the action script. There's some extra code in there to convert some of the date formats Google uses, and to account for the differences in time zones between the Google values and local time:
<cfif StructKeyExists(form,"update_events")>
  <cfset loopCount = form["totalRows"]>
  <cfloop index="row" from="1" to="#loopCount#">
    <cfset thisCalendar = form["calendar" & row]>
    <cfset thisCreator = form["creator" & row]>
    <cfset thisStarttime = form["starttime" & row]>
    <cfset thisEndtime = form["endtime" & row]>
    <cfif TimeFormat(thisStarttime,"hh:mm tt") EQ "12:00 AM" AND TimeFormat(thisEndtime,"hh:mm tt") EQ "12:00 AM">
      <cfset thisAllDay = -1>
    <cfelse>
      <cfset thisAllDay = 0>
      <cfset thisStarttime = DateAdd("h",5,thisStarttime)>
      <cfset thisEndtime = DateAdd("h",5,thisEndtime)>
    </cfif>
    <cfset thisTitle = form["title" & row]>
    <cfset thisContent = form["content" & row]>
    <cfset thisLocation = form["location" & row]>
    <cfset thisID = form["ID" & row]>
    <cfset thisPublished = form["published" & row]>
    <cfset thisUpdated = form["updated" & row]>
    <cfquery datasource="ctband">
      INSERT INTO Events (Calendar, Created_By, All_Day, Event_Start, Event_End, Title, Content, Location, ID, Published, Updated) Values (
      <cfqueryparam value="#thisCalendar#" cfsqltype="cf_sql_varchar">,
      <cfqueryparam value="#thisCreator#" cfsqltype="cf_sql_varchar">,
      <cfqueryparam value="#thisAllDay#" cfsqltype="cf_sql_integer">,
      <cfqueryparam value="#thisStarttime#" cfsqltype="cf_sql_timestamp">,
      <cfqueryparam value="#thisEndtime#" cfsqltype="cf_sql_timestamp">,
      <cfqueryparam value="#thisTitle#" cfsqltype="cf_sql_varchar">,
      <cfqueryparam value="#thisContent#" cfsqltype="cf_sql_clob">,
      <cfqueryparam value="#thisLocation#" cfsqltype="cf_sql_varchar">,
      <cfqueryparam value="#thisID#" cfsqltype="cf_sql_varchar">,
      <cfqueryparam value="#thisPublished#" cfsqltype="cf_sql_timestamp">,
      <cfqueryparam value="#thisUpdated#" cfsqltype="cf_sql_timestamp">)
    </cfquery>
  </cfloop>
</cfif>
I'm thinking there must be something pretty obvious I've screwed up, but I can't for the life of me find it. Any help would be appreciated!
JAW

First, I see this:
<cfset thisRow = thisRow + 1>
Which is you counting the number of rows, I assume.  Then I see this:
<input type="hidden" name="totalRows" value="#row#" />
But I don't see where #row# has been set.
You are correct. That was a combination of a couple different attempts at this and I used the wrong variable name on that line. Alas, correcting that didn't solve the problem.
Then I see this:form["totalRows"]
When I'm used to seeing this:
FORM.totalRows
I've never seen the form["name"] before.  Does that actually work?
I read somewhere that that's a more effective way of factoring the variable in the name of the form field as an alternative to Evaluate("form.field#row#"). I think it was somewhere on Ray Camden's blog, but it was a while ago. The only reason I used it there was for consistency. That  spot could easily have been FORM.totalRows, but the others would have to be either Evaluate("FORM.calendar#row#") or form["calendar" & row]. Again, I'm learning as I go, though, so I may have used it incorrectly. It's not throwing errors though, it's just reloading a blank page, as if it's submitting the form, but not actually processing the query. That's the confusing part to me.

Similar Messages

  • Insert query waiting for in-definite time.

    Hi all,
    I had a serious problem in my system.
    My application gets stuck when trying to insert a huge xml message in a table blob. Usually there is no problem, the insert query goes into wait state just around or after the gather stats running on this table ends.
    The table is partitioned one and around 150Gb in size.
    I have seen in toad the wait event for this insert query is SQL* net more data from client.
    This might be something related to RBS usage of this stuck insert query - in toad the RBS usage start time is same as the end time of gather stats.
    But i m unable to figure out why the insert is stuck just after the gather stats ends, i have simulated this issue many times. My oracle version is 9.0.8.
    Could somebody help to figure out why this is happening...?

    My oracle version is 9.0.8.I doubt this is correct.
    Post Operating System (OS) name & version for DB server system.
    Post results of SELECT * from v$version.
    Now CUT the commands & results & PASTE (post) them back here.
    ALTER SESSION SET SQL_TRACE=TRUE;
    -- invoke the problem SQL here
    ALTER SESSION SET SQL_TRACE=FALSE;
    now find the trace file within ./udump folder
    tkprof <trace_file.trc> trace_results.txt explain=<username>/<password>
    post the contents of trace_results.txt back here
    when application "gets stuck" run the following SQL from different session
    SELECT DECODE(request,0,'Holder: ','Waiter: ')||sid sess,
    id1, id2, lmode, request, type
    FROM V$LOCK
    WHERE (id1, id2, type) IN
    (SELECT id1, id2, type FROM V$LOCK WHERE request>0)
    ORDER BY id1, request
    /

  • Maximum length of identifier in insert query

    Hi,
    I am using Sybase 12.0 with JConnect 5.
    I am facing some problem with insert query.
    It gives exception like " identitifer is too long maximum length is 30"
    If i run then same query on winSql its working fine but with JDBC not working.
    Pls help me reagrding this.

    Hi,
    this is the error message i am getting
    com.sybase.jdbc2.jdbc.SybSQLException: The identifier that starts with '"T3211PU,,insert into Illustr' is too long. Maximum length is 28.
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.sybase.jdbc2.tds.Tds.processEed(Tds.java:2408)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.sybase.jdbc2.tds.Tds.nextResult(Tds.java(Compiled Code))
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.sybase.jdbc2.jdbc.ResultGetter.nextResult(ResultGetter.java:69)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.sybase.jdbc2.jdbc.SybStatement.nextResult(SybStatement.java:201)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.sybase.jdbc2.jdbc.SybStatement.nextResult(SybStatement.java:182)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.sybase.jdbc2.jdbc.SybStatement.executeLoop(SybStatement.java:1535)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.sybase.jdbc2.jdbc.SybStatement.execute(SybStatement.java:1527)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.sybase.jdbc2.jdbc.SybStatement.execute(SybStatement.java:742)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.dcx.catl.macscompiler.util.CommonDataAccessManager.execQueryRetState(CommonDataAccessManager.java:759)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.dcx.catl.macscompiler.bo.RemoveIllustrationJavaBean.execute(RemoveIllustrationJavaBean.java:414)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.dcx.catl.macscompiler.ao.RemoveIllustrationAction.execute(RemoveIllustrationAction.java:219)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:446)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:266)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1292)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:948)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:530)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:176)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:79)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:201)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R      at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:182)
    [4/27/05 17:02:50:031 IST] 575ee900 SystemErr R [4/27/05 17:02:50:031 IST] 575ee900 SystemOut O SQLException: The identifier that starts with '"T3211PU,,insert into Illustr' is too long. Maximum length is 28.

  • Reporting designer - problem with insertin query

    hi, I have problem with inserting query into reporting designer, when i do it there occurs metadata error and the system write check query, but query is ok, there are no variables. Have you any idea whats the problem.
    thanx

    I had a similar problem after "upgrading" to SAPGUI 7.10, except my failure was in the BEx Analyzer. (We are still using BW 3.5 SP 18.)
    The solution I found was in SAP Note 1039191 which addresses this problem for both the Analyzer and the Query Designer, and includes a revised "wdbsPres.dll" file as a workaround. After downloading and installing this file, the problem was resolved.
    BTW, I have asked SAP when this will be fixed in a future FEP, but they have so far only given me a very ambiguous reply suggesting that I try it on another PC.
    Hope this helps...
    Bob

  • Insert query problem

    I have a insert query that I have not changed, but for some reason it will not insert anything into the database.
    The data gets inserted by a Ajax submit form and goes to insert.php
    if(isset($_POST['message_wall'])){
        /* Connection to Database */
        include('config.php');
        /* Remove HTML tag to prevent query injection */
        $message = mysql_real_escape_string($_POST['message_wall']);
        $to = mysql_real_escape_string($_POST['profile_to']);
        $sql    =    'INSERT INTO wall (message) VALUES(
                    "'.$message.'")';
                     mysql_query($sql);
    I want to be able to add a user_id into the database too
    The ajax code:
    $(document).ready(function(){
        $("form#submit_wall").submit(function() {
        var message_wall = $('#message_wall').attr('value');
            $.ajax({
                type: "POST",
                url: "insert.php",
                data: "message_wall="+ message_wall,
                success: function(){
                    $("ul#wall").prepend("<li style='display:none'>"+message_wall+"</li><br><hr>");
                    $("ul#wall li:first").fadeIn();
        return false;

    hi,
    while I was waiting for your message I went back to the raw code.
    I changed my code and now it works but it falls again once I add the other info in hidden fields
            $.ajax({
                type: "POST",
                url: "insert.php",
                data: "message_wall="+ message_wall,
                date: "msg_date="+ msg_date,
                success: function(){
                    $("ul#wall").prepend("<li style='display:none'>"+message_wall+"</li><br />"+msg_date+"<hr />");
                    $("ul#wall li:first").fadeIn();
    <form action="" id="submit_wall" name="submit_wall">
    <textarea name="name" id="message_wall" cols="70" rows="2" onclick="make_blank();"></textarea>
    <div align="left"><button type="submit">Post to wall</button></div>
    <input name="profile_to" type="hidden" value="<?php echo $row_user_profile['user_id']; ?>" />
    <input name="msg_date" type="hidden" value="<?php echo date("d/m/y");?>" />
    </form>
    how do I add more than one post option?
    Is this right:
                data: "message_wall="+ message_wall,
                 date: "msg_date="+ msg_date,
    I tried
                data: "message_wall="+ message_wall, "msg_date="+ msg_date,
    But nothing. I take it this is where the fields are sent

  • Urgent: regarding insert query problem

    i have a one table say "item_master_old" its structure is like
    item_master_old (item_name, item_rate, item_qty, item_desc)
    second table say "item_master" its structure is like
    item_master(id, item_name, item_rate, item_qty, item_desc)
    i want to insert item_master_old values in item_master using the following insert query :
    insert into item_master ( (select nvl( max(id), 0) + 1 from item_master ),
    item_name,
    item_rate,
    item_qty,
    item_desc
    from
    item_master_old)
    but i update the id column with 1 in all column but i want the max(id) + 1
    how it can be possible ?
    Regards
    s

    try this!
    insert into item_master
    select (select nvl(max(id),0) from item_master)+rownum,
    item_name,  item_rate, item_qty, item_desc
    from item_master_old;
    "Not tested"Message was edited by:
    Jameel

  • Problem in inserting data into MySQL table

    Hi All,
    I have a table with just two fields FIRSTNAME and SECONDNAME in MySQL. I am accepting the First Name and Second Name in two text fields and then trying to insert them into the MySQL table. I have set the concurrency of the rowset to CONCUR_UPDATABLE and am using the code clip for Database row insert with the appropriate changes. When I run the application it doesnt give me any errors but the data is also not inserted in the table. Can someone pls help me out.
    Loneliness wins the race :-)

    This is my problem when inserting single row. What does it means ?
    MusicInsert: com.mysql.jdbc.NotUpdatable: Result Set not updatable.This result set must come from a statement that was created with a result set type of ResultSet.CONCUR_UPDATABLE, the query must select only one table, and must select all primary keys from that table. See the JDBC 2.1 API Specification, section 5.6 for more details

  • Problem while inserting a record to infotype 416

    Iam facing a problem while inserting a record to the infotype 416 for a personnel no using the FM 'HR_INFOTYPE_OPERATION'.I have created a FM to insert a record to the infotype 416.In that FM iam using the FM 'HR_INFOTYPE_OPERATION' to create a record for infotype 416.while executing  my FM the FM 'HR_INFOTYPE_OPERATION' is returning the return value 0.But when i check in PA30 for the infotype 416,there is no record created for that personnel no.Also in the table PA0416 the record is not get created.SO what might be the problem.can anyone please provide me help on this.
    I have attached the code of my FM for ur reference.
    FUNCTION Y_ESS_FL_ENCASH.
    DATA: G_COMPENSATION_AMOUNT LIKE PA0416-AMONT,
          G_RETURN TYPE BAPIRETURN1.
    DATA T_PA0416 LIKE P0416 OCCURS 0 WITH HEADER LINE.
    CALL FUNCTION 'HR_READ_INFOTYPE'
        EXPORTING
           TCLAS                 = 'A'
           PERNR                 = '00000014'
           INFTY                 = '0416'
         BEGDA                 = sy-datum
         ENDDA                 =  sy-datum
           BYPASS_BUFFER         = 'X'
         LEGACY_MODE           = ' '
    IMPORTING
         SUBRC                 =
          TABLES
            INFTY_TAB             = T_PA0416
    EXCEPTIONS
      INFTY_NOT_FOUND       = 1
      OTHERS                = 2
        LOOP AT T_PA0416
        WHERE SUBTY = '1002'.
        ENDLOOP.
        IF SY-SUBRC <> 0.
          CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
            EXPORTING
               NUMBER = '00000014'
            IMPORTING
               RETURN = G_RETURN.
          IF SY-SUBRC <> 0.
             MESSAGE I016(RP) WITH ' RECORD IS ALREADY LOCKED'.
          ENDIF.
          T_PA0416-PERNR = '00000014'.
          T_PA0416-SUBTY = '1002'.
          T_PA0416-INFTY = '0416'.
          T_PA0416-OBJPS = ''.
          T_PA0416-SPRPS = ''.
          T_PA0416-SEQNR = ''.
          T_PA0416-AEDTM = SY-DATUM.
          T_PA0416-UNAME = SY-UNAME.
          T_PA0416-ENDDA = SY-DATUM.
          T_PA0416-BEGDA = SY-DATUM.
          T_PA0416-NUMBR = '10'.
          T_PA0416-WGTYP = '1530'.
          T_PA0416-AMONT = '15000'.
          T_PA0416-WAERS = 'INR'.
          T_PA0416-QUONR = '1'.
          APPEND T_PA0416.
          CALL FUNCTION 'HR_INFOTYPE_OPERATION'
            EXPORTING
              INFTY                  = '0416'
              NUMBER                 = '00000014'
              SUBTYPE                = '1002'
      OBJECTID               =
      LOCKINDICATOR          =
             VALIDITYEND            = '31129999'
             VALIDITYBEGIN          = SY-DATUM
            RECORDNUMBER           = ''
              RECORD                 = T_PA0416
              OPERATION              = 'INS'
              TCLAS                  = 'A'
      DIALOG_MODE            = '0'
            NOCOMMIT               = 'X'
      VIEW_IDENTIFIER        =
      SECONDARY_RECORD       =
            IMPORTING
              RETURN                 = G_RETURN.
      KEY                    =
          IF G_RETURN+0(1) EQ 'E'.
                  MESSAGE I086(ZHR) WITH 'Record is not inserted in IT416'.
          ELSE.
              COMMIT WORK.
          ENDIF.
          CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'
            EXPORTING
              NUMBER = '00000014'
            IMPORTING
              RETURN = G_RETURN.
        ENDIF.
    ENDFUNCTION.

    Hi Murthy
    With a first glance, I think you have given a wrong parameter value to "validityend". It should be '99991231' not '31129999' .
    If your problem still persists, try inserting the data online from PA30. If your input causes no errors, then please state what the return parameter contains.
    Regards
    *--Serdar <a href="https://www.sdn.sap.com:443http://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.sdn.businesscard.sdnbusinesscard?u=qbk%2bsag%2bjiw%3d">[ BC ]</a>

  • Problems in SQL Query

    Dear All,
    I am having some problem in SQL query. I am trying to get total sum of one inventory using the following query it works fine:
    sum(case when mt.transaction_quantity > 0 then (mt.transaction_quantity) else 0 end) "TOT_IN"
    ,sum(case when mt.transaction_quantity >= 0 then 0 else (abs(mt.transaction_quantity)) end) "TOT_OUT"
    But when I breakup the total sum into monthly breakup it fails to return the correct some could any one help what is wrong in the following query which is returning incorrect monthly sum. Following is that query. Your help in this regard would highly be appreciated.
    sum(case when mt.transaction_quantity > 0 then (decode (floor (floor (to_date('17-MAR-2009')- mt.transaction_date) / 30), 0, mt.transaction_quantity, null)) else 0 end) "MONTH1_IN"
    ,sum(case when mt.transaction_quantity >= 0 then 0 else (decode (floor (floor (to_date('17-MAR-2009')- mt.transaction_date) / 30), 0, abs(mt.transaction_quantity), null)) end) "MONTH1_OUT"
    Thanks

    Hi,
    Sorry, I don't really understand what you want.
    Whenever you have a question, it helps to post:
    (1) The version of Oracle (and any other relevant software) you're using
    (2) A little sample data (just enough to show what the problem is) from all the relevant tables
    (3) The results you want from that data
    (4) Your best attempt so far (formatted)
    (5) The full error message (if any), including line number
    Executable SQL statements (like "CREATE TABLE AS ..." or "INSERT ..." statements) are best for (2).
    If you can present your problem using commonly available tables (for example, tables in scott schema, or views in the data dictionary), then you can omit (2).
    Formatted tabular output is okay for (3). Type these 6 characters
    &#123;code&#125;
    (small letters only, inside curly brackets) before and after the tabular text, to preserve spacing.
    What exactly do you mean by "monthly breakup"?
    If you want separate figures for each calendar month, Blushadow's suggestion (TRUNC (mt.transaction_date, 'MM')) is what you want.
    If you want separate figures for the last 30 days before today, then something like what you posted ("FLOOR ((:target_date - mt.transaction_date) / 30)": the extra FLOOR doesn't help any) should work, so if you ran the query on March 17, 2009, the first "month" would be February 16 through March 17.
    In a CASE statement, there's rarely any need to use DECODE. The following is equivalent to the last line of code you posted:
    ,       SUM ( CASE
                WHEN  mt.transaction_quantity >= 0
                THEN  0
                WHEN  TO_DATE ('17-MAR-2009', 'DD-MON-YYYY') - mt.transaction_date
                        BETWEEN 0
                        AND     29.99999  -- 30 days minus a fraction of a second
                THEN  ABS (mt.transaction_quantity)
               END
             )          AS month1_outDon't you find this easier to understand (and debug)?

  • Problem on inserting text from file to a clob column

    Hi! I'm having problem in inserting text read from a text file to a clob column in my table.
    Here's my code
    public void addSyllabusOutline(int syllid)
              CLOB objclob1 = null;
              CLOB objclob2 = null;
              String query = "SELECT outline, projoutline FROM Syllabus WHERE syllabusid = '"+ syllid +"' FOR UPDATE";
              try
                   System.out.print("Getting syllabus outline and projoutline clob locator...");
                   DBConnection dbconnbean = new DBConnection();
                   dbconnbean.openConnection();
                   ResultSet rst = dbconnbean.executeQuery(query);
                   if(rst.next())
                        objclob1 = (oracle.sql.CLOB)rst.getClob("outline");
                        objclob2 = (oracle.sql.CLOB)rst.getClob("projoutline");
                        Writer clobwriter1 = ((oracle.sql.CLOB)objclob1).getCharacterOutputStream();
                        String filename1 = "c:\\o1u2t3l4i5n6e7.txt";
                        File outlinefile1 = new File(filename1);
                        FileReader outlineFileReader1 = new FileReader(outlinefile1);
                        char[] cbuffer1 = new char[10 * 1024];
                        int nread1 = 0;
                        while((nread1 = outlineFileReader1.read(cbuffer1)) != -1)
                             clobwriter1.write(cbuffer1, 0, nread1);
                        //clobwriter1.flush();
                        clobwriter1.close();
                        Writer clobwriter2 = ((oracle.sql.CLOB)objclob2).getCharacterOutputStream();
                        String filename2 = "c:\\p1r2o3j4o5u6t7l8i9n0e.txt";
                        File outlinefile2 = new File(filename2);
                        FileReader outlineFileReader2 = new FileReader(outlinefile2);
                        char[] cbuffer2 = new char[10 * 1024];
                        int nread2 = 0;
                        while((nread2 = outlineFileReader2.read(cbuffer2)) != -1)
                             clobwriter2.write(cbuffer2, 0, nread2);
                        //clobwriter2.flush();
                        clobwriter2.close();
                   System.out.println("done");
                   dbconnbean.closeConnection();
              catch(Exception e)
                   System.out.println("Error: " + e);
    My error is java.sql.SQLException fetch out of sequence. I don't have an Idea on what seems to be the problem. Please help.. Thank you very much. ^_^

    Hi,
    Print the whole stack trace. It will tell you the line which causes the error. How you use clob and blob in oracle is also version dependent. Try to google for
    oracle "your version" java clob example.
    /Kaj

  • Concatenate of table name in insert Query

    Greetings,
    Oracle Version -  Oracle9i Enterprise Edition Release 9.2.0.6.0 - 64bit Production
    I want to write a procedure in which we can give table name in insert statement at run time through Cursor
    But problem is
    insert into  tra_temp
    select  * tra_smi23 from
    in above statement 23 must be dynamic like tra_smi||23
    below is my code but something is wrong
    Kindly Help
    create or replace procedure test as
    cursor c1 is
    select op_ID,OP_NAME from operators where OP_NAME like '%TRA'
    and OP_ID<>9;
    begin
    execute immediate 'truncate table tra_temp ';
    for rec in c1
    loop
    insert into tra_temp
    select * from tra_SMI||'rec.OP_ID';
    commit;
    exit when c1%notfound;
    end;

    Or can we take table name into variable like
    select 'tra_SMI' || rec.OP_ID into abc from dual;
    and can we use this variable as
    insert into  tra_temp 
    select * from &abc;

  • Syntax error in insert query

    I have a flash form that is used to inserts a record into an
    Access database table. In the for there are 4 datefields, several
    text input fields, and several select fields. When I submit the
    form, I get a syntax error that reads:
    Executing Database Query. [Macromedia][SequeLink JDBC
    Driver][ODBC Socket][Microsoft][ODBC Microsoft Access Driver]
    Syntax error in INSERT INTO statement.
    The error occurred on line 184. Complex object types cannot
    be converted to simple values.
    Line 184 is the last line of the Values in the insert query.
    The query looks like this:
    <CFQUERY DATASOURCE="#REQUEST.DataSource#">
    INSERT INTO EstimateNumber(
    BidNumber,
    Project,
    JobSite,
    EstimatedBy,
    Region,
    Company,
    Division,
    InquiryNumber,
    SafetyChecklist,
    SafetyChecklistDate,
    QCChecklist,
    QCChecklistDate,
    EstimatedValue,
    UserUsername,
    UserPassword,
    Updated,
    ReviewDate,
    ReviewedBy,
    Discipline,
    BidDate,
    JobNumber,
    UpdatedBy
    VALUES(
    #FORM.BidNumber#,
    '#FORM.Project#',
    '#FORM.JobSite#',
    '#FORM.EstimatedBy#',
    #FORM.Region#,
    #FORM.Company#,
    #FORM.Division#,
    '#FORM.InquiryNumber#',
    #FORM.SafetyChecklist#,
    #FORM.SafetyChecklistDate#,
    #FORM.QCChecklist#,
    '#FORM.QCChecklistDate#',
    #FORM.EstimatedValue#,
    '#FORM.UserUsername#',
    '#FORM.UserPassword#',
    #FORM.Updated#,
    #FORM.ReviewDate#,
    #FORM.ReviewedBy#,
    #FORM.Discipline#,
    #FORM.BidDate#,
    #FORM.JobNumber#,
    '#FORM.UpdatedBy#'
    </CFQUERY>
    Any recomendations?

    Date/Time in Access provide some pretty strage hurdles. In
    many occassions I have simply changed the field to a Text field and
    ran with that and never seemed to have problems with the result. I
    didn't like doing it but I never received errors. I have been
    receiving some parameter errors with <cfqueryparam> like the
    database doesn't recognized the preceding declared field in the
    update or insert query. Here is an example of a wierd error with
    Access. I have 2 tables. One is for estimate numbers and the other
    is for sub estimate numbers that can be assigned to specific
    estimate numbers. If is actually a complicated explanation about
    what is taking place behind the doors on this. The concept is
    simple on the surface. Both tables have the same fields except the
    subestimate table has 1 extra for a user defined subestimate
    number. The only relation between the two will be the estimate
    number. This insert works fine.
    INSERT INTO EstimateNumber(
    BidNumber,
    Project,
    JobSite,
    EstimatedBy,
    Region,
    Company,
    Division,
    InquiryNumber,
    SafetyChecklist,
    SafetyChecklistDate,
    QCChecklist,
    QCChecklistDate,
    EstimatedValue,
    UserUsername,
    UserPassword,
    ReviewDate,
    Discipline,
    BidDate,
    JobNumber,
    UpdatedBy
    VALUES(
    #FORM.BidNumber#,
    '#FORM.Project#',
    '#FORM.JobSite#',
    '#FORM.EstimatedBy#',
    #FORM.Region#,
    #FORM.Company#,
    #FORM.Division#,
    '#FORM.InquiryNumber#',
    #FORM.SafetyChecklist#,
    <cfqueryparam
    value="#FORM.SafetyChecklistDate#"
    cfsqltype="CF_SQL_DATE "
    maxlength="50"
    >,
    #FORM.QCChecklist#,
    <cfqueryparam
    value="#FORM.QCChecklistDate#"
    cfsqltype="CF_SQL_DATE "
    maxlength="50"
    >,
    #FORM.EstimatedValue#,
    '#FORM.UserUsername#',
    '#FORM.UserPassword#',
    <cfqueryparam
    value="#FORM.ReviewDate#"
    cfsqltype="CF_SQL_DATE "
    maxlength="50"
    >,
    #FORM.Discipline#,
    <cfqueryparam
    value="#FORM.BidDate#"
    cfsqltype="CF_SQL_DATE "
    maxlength="50"
    >,
    #FORM.JobNumber#,
    '#FORM.UpdatedBy#'
    This next one is the same exact query with the same table
    setup with one added field but kicks back a parmeter error
    expecting 4. I can't explain it.
    INSERT INTO SubEstimate(SubBidNumber,
    BidNumber,
    Project,
    JobSite,
    EstimatedBy,
    Region,
    Company,
    Division,
    InquiryNumber,
    SafetyChecklist,
    SafetyChecklistDate,
    QCChecklist,
    QCChecklistDate,
    EstimatedValue,
    UserUsername,
    UserPassword,
    ReviewDate,
    Discipline,
    BidDate,
    JobNumber,
    UpdatedBy
    VALUES(#FORM.SubBidNumber#,
    #FORM.BidNumber#,
    '#FORM.Project#',
    '#FORM.JobSite#',
    '#FORM.EstimatedBy#',
    #FORM.Region#,
    #FORM.Company#,
    #FORM.Division#,
    '#FORM.InquiryNumber#',
    #FORM.SafetyChecklist#,
    <cfqueryparam
    value="#FORM.SafetyChecklistDate#"
    cfsqltype="CF_SQL_DATE "
    maxlength="50"
    >,
    #FORM.QCChecklist#,
    <cfqueryparam
    value="#FORM.QCChecklistDate#"
    cfsqltype="CF_SQL_DATE "
    maxlength="50"
    >,
    #FORM.EstimatedValue#,
    '#FORM.UserUsername#',
    '#FORM.UserPassword#',
    <cfqueryparam
    value="#FORM.ReviewDate#"
    cfsqltype="CF_SQL_DATE "
    maxlength="50"
    >,
    #FORM.Discipline#,
    <cfqueryparam
    value="#FORM.BidDate#"
    cfsqltype="CF_SQL_DATE "
    maxlength="50"
    >,
    #FORM.JobNumber#,
    '#FORM.UpdatedBy#'
    IF I get rid of the cfqueryparam fields it works. If I simply
    remove the param, I get a Syntax error. Needless to say I commented
    this query for the sake of sanity for the time being.

  • Problem in Insertion into table through After Report Parameter form trigger

    Hi All,
    I am getting problem in inserting some data into temp table through Report.
    My requirement is like that, I have to do a calculation based on user parameters, and then insert the data into the temp table. I wanted to do this into After Report Parameter form trigger function. I have done all the calculation and wrote all the insert statement in that function. There is no problem in compilation. then I am taking value from this temp table in my formula columns.
    When I run this report, it hangs, don't understand what is the problem.Can anybody help me out in this.
    Thanks,
    Nidhi

    The code is as follows:
    function AfterPForm return boolean is
    CURSOR CUR_RECEIPT(RECEIPT_NUM_FROM NUMBER, RECEIPT_NUM_TO NUMBER) IS
    SELECT DISTINCT receipt, item_no FROM xxeeg.xxeeg_1229_sp_putaway WHERE RECEIPT BETWEEN
    RECEIPT_NUM_FROM AND RECEIPT_NUM_TO ;
    V_CUR_RECEIPT CUR_RECEIPT%ROWTYPE;
    begin
    OPEN CUR_RECEIPT(:RECEIPT_NUM_FROM, :RECEIPT_NUM_TO);
    FETCH CUR_RECEIPT
    INTO V_CUR_RECEIPT;
    LOOP
    EXIT WHEN CUR_RECEIPT%NOTFOUND;
    IF V_CUR_RECEIPT.ITEM_NO = 'TEST1' AND V_CUR_RECEIPT.RECEIPT = '12' THEN
    INSERT INTO SP_TEMP
    (RECEIPT, ITEM_NO, LOCATION1)
    VALUES
    (V_CUR_RECEIPT.RECEIPT, V_CUR_RECEIPT.ITEM_NO, 10);
    UPDATE SP_TEMP
    SET LOCATION2 = 12
    WHERE RECEIPT = V_CUR_RECEIPT.RECEIPT AND ITEM_NO = V_CUR_RECEIPT.ITEM_NO;
    UPDATE SP_TEMP
    SET LOCATION3 = 13
    WHERE RECEIPT = V_CUR_RECEIPT.RECEIPT AND ITEM_NO = V_CUR_RECEIPT.ITEM_NO;
    UPDATE SP_TEMP
    SET LOCATION4 = 14
    WHERE RECEIPT = V_CUR_RECEIPT.RECEIPT AND ITEM_NO = V_CUR_RECEIPT.ITEM_NO;
    ELSE
    IF V_CUR_RECEIPT.ITEM_NO = 'TEST2' AND V_CUR_RECEIPT.RECEIPT = '12' THEN
    INSERT INTO SP_TEMP
    (RECEIPT, ITEM_NO, LOCATION1)
    VALUES
    (V_CUR_RECEIPT.RECEIPT, V_CUR_RECEIPT.ITEM_NO, 10);
    UPDATE SP_TEMP
    SET LOCATION2 = 16
    WHERE RECEIPT = V_CUR_RECEIPT.RECEIPT AND ITEM_NO = V_CUR_RECEIPT.ITEM_NO;
    UPDATE SP_TEMP
    SET LOCATION3 = 17
    WHERE RECEIPT = V_CUR_RECEIPT.RECEIPT AND ITEM_NO =V_CUR_RECEIPT.ITEM_NO;
    UPDATE SP_TEMP
    SET LOCATION4 = 18
    WHERE RECEIPT = V_CUR_RECEIPT.RECEIPT AND ITEM_NO = V_CUR_RECEIPT.ITEM_NO;
    ELSE
    INSERT INTO SP_TEMP
    (RECEIPT, ITEM_NO, LOCATION1)
    VALUES
    (V_CUR_RECEIPT.RECEIPT, V_CUR_RECEIPT.ITEM_NO, 10);
    UPDATE SP_TEMP
    SET LOCATION2 = 19
    WHERE RECEIPT = V_CUR_RECEIPT.RECEIPT AND ITEM_NO = V_CUR_RECEIPT.ITEM_NO;
    UPDATE SP_TEMP
    SET LOCATION3 = 20
    WHERE RECEIPT = V_CUR_RECEIPT.RECEIPT AND ITEM_NO =V_CUR_RECEIPT.ITEM_NO;
    UPDATE SP_TEMP
    SET LOCATION4 = 21
    WHERE RECEIPT = V_CUR_RECEIPT.RECEIPT AND ITEM_NO = V_CUR_RECEIPT.ITEM_NO;
    END IF;
    END IF;
    END LOOP;
    COMMIT;
    CLOSE CUR_RECEIPT;
    return(TRUE);
    end;
    .....................................................................................................................

  • Oracle 10g Insert query performs inconsistent as a query vs procedure and p

    Database Version: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
    No error messages....
    I am facing a very weird issue that I have a insert statement in a procedure... pretty much
    inert
    into oracle_Table
    SELECT cr.a AS a,
    cr.b AS b,
    cr.c AS c,
    max(d.column_name) as d
    FROM "table 1"@Pmo.World Cr,
    [email protected] d
    WHERE d."a" = cr."column name"
    GROUP BY cr.a,
    cr.b,
    cr.c
    @Pmo.World is a database link to a MSSQL...
    The problem I am having right now is, every time I run this insert as a query. Everything works as what it should be... However, when I put this insert into a procedure, it inserts nothing...
    Simple test Proceudre:
    declare
    -- Local variables here
    i integer;
    begin
    inert
    into oracle_Table
    SELECT cr.a AS a,
    cr.b AS b,
    cr.c AS c,
    max(d.column_name) as d
    FROM "table 1"@Pmo.World Cr,
    [email protected] d
    WHERE d."a" = cr."column name"
    GROUP BY cr.a,
    cr.b,
    cr.c
    end;
    Thinking about character conversion issue I changed the procedure to
    inert
    into oracle_Table
    SELECT to_char(cr.a) AS a,
    to_char(cr.b) AS b,
    to_char(cr.c) AS c,
    max(d.column_name) as d
    FROM "table 1"@Pmo.World Cr,
    [email protected] d
    WHERE d."a" = cr."column name"
    GROUP BY cr.a,
    cr.b,
    cr.c
    Then this Inser works in the procedure... however when I revert it back with the original version that doesnt have to_char... it is working still... then I kept it running for few days... since it runs once per day, it was working for the first 2 days and then stopped working the third day... I verified the source table and every time this procedure runs, source tables were not empty...
    It is so confusing because if I manually run the insert as a query, it worked every time I ran it... however if I put that into a procedure, it works from time to time..
    Any help is highly apprecaited
    Edited by: 986006 on Feb 4, 2013 8:51 AM

    986006 wrote:
    Thanks for the hints up... I have updated my post... As I post the test procedure...it is about the exact the same as the insert query... Every time, the insert would actually insert data into the table but every time I run the test procedure, nothing gets inserted in... It sounds unbelievable but it happens... ThanksYou obviously haven't read the FAQ, or at least you haven't bothered doing what it asks. Help us to help you.
    Can you recreate the problem with simpler data on your local machine? If so provide create table and insert statements for test data.
    Format your code and place between tags.
    At the very least post the *exact* SQL or PL/SQL you are trying to run: what you've posted isn't even valid SQL.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Sort problem on dynamic query !!

    Hi,
    I have a dynamic query written in pl/sql, when I check "Sort" for each field in Report Attribute, error message raised up as "ORA-01785: ORDER BY item must be the number of a SELECT-list expression".
    If I do not check Sort, it works fine. In my apps I need all fields sorted by user, how to fix this problem?
    My query as below:
    declare
    query varchar2(2000):='select';
    s_class varchar2(1000);
    cursor c1 is select * from demo_preference;
    begin
    for c1_val in c1 loop
    if c1_val.login is not null then
    query := query ||' ' || 'login' || ',';
    end if;
    if c1_val.id is not null then
    query := query ||' ' || 'id' || ',';
    end if;
    end loop;
    query := SUBSTR(query, 1, length(query)-1);
    s_class := '(NVL(:P2_class, ''%'' || ''null%'') = ''%'' || ''null%'' OR
    EXISTS (SELECT 1 FROM apex_collections WHERE collection_name = ''P2CLASSCOL'' AND c001 = class))';
    query := query ||' ' || 'from ming.reg_report_view1 where'
    || ' ' || s_class;
    return(query);
    end;

    Maybe the internally mapped column used when you clicked on sort is not shown in the report. Try using aliases when you construct the query string, it could help apex internally in identifying a column even if its order changes for a different user. After all the column order in the code is dynamic and I guess even the no of columns displayed might vary both of which could make sorting on a column identified with a number, invalid.
    How about displaying the report query somewhere, so that you know what is the exact query being processed, it might give you better information about the problem.
    If the problem persists, then use a collection that is fetched those record using the same query string and change the report to refer the collection and then set column sorting on. This way apex would get confused on what columns are being sorted and it would just sort on a c001..c050 column as though it was a string(yes problems with number columns sorting when you do this).

Maybe you are looking for

  • How to Get Duration, Start/Stop Time of Each Instance (Run)

    Can someone tell me how to get the Duration, as well as Execution Start/Stop times for a given run (Instance) of a Report, stored in History? For example, on the BO Server in InfoView, I can browse the History of each report, and for each run, I can

  • Errors an problems with InDesign CC 2014

    I am having "Out of Memory" error while using InDesign CC 2014. This has never happened before. I am working on a catalog and is constantly flickering the text or images, or freezes the screen or just wont start the program. I am in the final process

  • Why can't I access my lectures on iTunes U?

    I can't access my lectures on iTunes U. The login is leading me in circles--redirecting me back to where I started (logging in)-- and will not let me listen to or download anything. What is happening? I have never had this problem before now, and I k

  • Updated to itunes 10.5 and now I can't access itunes store.

    Upgraded to the new Itunes 10.5 over a week ago and cannot access itunes store. I've done every troubleshooting step and unistalled reinstalled multiple time.  WTH!

  • How is the iPhoto Library organized

    I apologize if this topic has been covered - point me to earlier discussions if appropriate. I'm curious about the filing scheme in the iPhoto Library. When I look in the Finer in the Library I see that there are folders by year, and within those fol