Tempting table update query

I'm trying to update a table from a table looping on but not lucky to have. It doesn't seem to be much info out there on how to do, what I found is related to a loop of requests in the tables (the reverse of course). It seems it should be simple enough to the test table is;

(salt, optiontype_ID)

[1] [1] blue

[1] [2] 65

[2] [1] white

[2], [2] 73

And my attempt...

< cfloop index = 'x' = '1' to = "#arrayLen (arr1 [salt]) #" >

< cfloop index = 'y' = '1' to = "#arrayLen (arr1 [optiontype_ID]) #" >

"< datasource =" "#request.dsn # cfquery" username = "#request.dsnUsername #" password = "#request.dsnPassword #" >

Update tbl_skuoptions

Set the argument option_name = ' #arr1 [salt] #'

where option_Type_ID = ' #arr1 [optiontype_ID] #'

< / cfquery >

< / cfloop >

< / cfloop >

Any ideas or even a slap upside the head of Dan would be appreciated.

Thank you!

David

You must do something to build your table.  At the stage when you complete each row, couldn't update you your db instead?

Tags: ColdFusion

Similar Questions

  • Update query not in AND not exists

    The following update query hangs

    {code}

    Update EMP

    define the EMP. SAL_FLAG = 1

    EMP. SAL_EFFECTIVE_DATE = to_date ('20140101', 'YYYYMMDD')

    If EMP.ID not in (SELECT ID

    of the Department

    When TREATED = 'Y '.

    )

    AND EMP. SAL_FLAG = 0

    AND EMP. SAL_EFFECTIVE_DATE < = to_date ('20140101', 'YYYYMMDD')

    {code:}

    Out of the PLAN is

    ---------------------------------------------------------------------------------------------------------------

    | ID | Operation | Name                     | Lines | Bytes | Cost |    TQ | IN-OUT | PQ Distrib.

    ---------------------------------------------------------------------------------------------------------------

    |   0 | SELECT STATEMENT |                          | 13700 |   254K |    22 M |        |      |            |

    |*  1 |  FILTER |                          |       |       |       |        |      |            |

    |   2.   COORDINATOR OF PX |                          |       |       |       |        |      |            |

    |   3.    PX SEND QC (RANDOM). : TQ20000 | 13700 |   254K |  1995 |  Q2, 00 | P > S | QC (RAND) |

    |   4.     ITERATOR BLOCK PX |                          | 13700 |   254K |  1995 |  Q2, 00 | ISSUE |            |

    |*  5 |      TABLE ACCESS FULL | EMP                      | 13700 |   254K |  1995 |  Q2, 00 | SVCP |            |

    |   6.   COORDINATOR OF PX |                          |       |       |       |        |      |            |

    |   8 S    PX SEND QC (RANDOM). : TQ10000 |     2.    20.  3334.  Q1 00 | P > S | QC (RAND) |

    |   8.     ITERATOR BLOCK PX |                          |     2.    20.  3334.  Q1 00 | ISSUE |            |

    |*  9 |      TABLE ACCESS FULL | DEPT                     |     2.    20.  3334.  Q1 00 | SVCP |            |

    Can someone help me solve this problem? The TWO ID of 2 tables have an index

    Waiting for your spare update queries

    Thank you

    S

    Maybe

    merge into e emp

    using (select id

    of the Department

    when transformed! = « Y »

    ) d

    on (e.id = d.id)

    when matched

    then update

    Set e.sal_flag = 1,

    e.effective_date = date ' 2014-01-01'

    Concerning

    Etbin

  • Update query with join statement

    Hi guys, would check how to write a query to update with the inner join statement? The case is like this, I need to update PRD_ID on TBL A as below, based on the information of lookup table. The keys are based on the A03 column to the table time to condition only select records in LOOKUP_TBL where PRD_ID = 110001 then update to TBL_A for those who match the data and FIX_FLT = 1

    I have an update query and it works in SQL SERVER but not in ORACLE

    Update a PRD_ID = B.PRD_ID set

    Inner TBL_A A join B LOOKUP_TBL

    On A.A03 = B.A03

    AND A.FIX_FLT = 1 AND B.PRD_ID = '110001';

    TBL_A

    PRD_IDA03FIX_FLTTXNDATE
    1A11123/10/2010
    1A21110/24/2010
    1A33210/25/2010
    1A43210/26/2010
    1A53127/10/2010

    LOOKUP_TBL

    PRD_IDA03NOTE
    110001A1NULL VALUE
    110001A2NULL VALUE
    110005A3NULL VALUE
    110005A4NULL VALUE
    110001A5NULL VALUE

    You can write updates like this in Oracle.  It's called updatable join views.  Something like this:

    Update
    (select a.prd_id a_prd_id
    b.prd_id b_prd_id
    Inner TBL_A A join B LOOKUP_TBL
    On A.A03 = B.A03
    AND A.FIX_FLT = 1 AND B.PRD_ID = '110001'
    )
    Set a_prd_id = b_prd_id;

    But you must have the constraints appropriate in place, otherwise you will get the error "key preserved table.

  • Need help with an update query

    Hello

    I am trying to run a query on a table update. Here's an example: I have 2 tables t1 and t2, and these tables have 2 similar columns, c11 and c12 in t1 and c21 and c22 in t2. I now have to execute an update statement for the column c11 in t1 with the values for the c21 in t2 where the c12 in t1 is equal to c22 in t2. Therefore, the request that I made:

    Update t1 set c11 =.
    (select t2.c21 from t1, t2 where t1.c11 = t2.c22)
    where t1.c11 in (select t1.c11 from t1);

    But this query gives me an error: ORA-01427: einreihig subquery returns more than one line.

    Where I'm going wrong? Kindly help.

    Hello

    Try

    UPDATE t1
       SET c11 = (SELECT t2.c21
                    FROM t2
                   WHERE t1.c12 = t2.c22)
     WHERE EXISTS (SELECT 1
                     FROM t2
                    WHERE t1.c12 = t2.c22);
    

    When you say

    c12 in t1 is equal to c22 in t2
    

    your where clause should be like

    WHERE t1.c12 = t2.c22
    

    and you do not need to join the table updated in the subquery that you can refer directly to its columns.

    from t1,t2--not needed.
    Use  FROM t2  
    

    * 009 *.

    Published by: 009 on March 18, 2010 21:04

  • I must be the most simple update query!

    Hi all

    I'm trying to run an update query that should be simple, that he gets, an inner join between two tables setting the value of a column non-joining tables to the value of the other tables non-joining column:

    SQL > update compound c
    2 set cmpname =)
    3. Select xname
    temp_foo 4 f
    5 where c.cmpcorporateid = f.xcorpid);

    146917 lines to date.

    Problem is that temp_foo has only one record and that only one record is a record in the compounds. How to limit the search to this record?

    Thanks for any help!

    Hello

    Since you do not have a WHERE clause in the UPDATE statement itself, all rows will be modified.
    Try this:

    update  compounds      c
    set      cmpname = (
                select  xname
                from        temp_foo     f
                where   c.cmpcorporateid = f.xcorpid
                )
    -- From here down is all new
    WHERE   xcorpid IN (
                 SELECT  cmpcorporateid
                 FROM        temp_foo
                 );
    

    If you think that's duplicate most of the work of the subquery, you are absolutely right!
    You can use the MERGE command to avoid this kind of duplication.

  • Update query does not work (ora-01427)

    RDBMS 10 g 2

    Long story short, I created a column in a table in another table, that it has been moved is not really necessary that all other information is stored in other tables. With the original column has values that need to be copied to the new column before the old table is deleted.

    I use this update query:
    update bi_req bir
       set bir.job_name =
            (select distinct bij.job_name
               from bi_jobs bij,
                    bi_freq bif,
                    bi_apps bia,
                    bi_req  bir
              where bij.fk_bi_req_id = bir.pk_bi_req_id
                and bia.pk_bi_apps_id = bij.fk_bi_apps_id
                and bif.pk_bi_freq_id = bij.fk_bi_freq_id)
     where bir.job_name is null;
    If I run the select statement separately, I get the exact results that I need however, every time I run the whole statement, I get:
    Error: ORA-01427: single-row subquery returns more than one row

    The problem is that your subquery returns two or more names different jobs for a line of update.

    Which of these task names are you using? If it is not serious, then you can go with a like this aggregate query

    update bi_req bir
       set bir.job_name =
            (select max(bij.job_name) /* use just one job name */
               from bi_jobs bij,
                    bi_freq bif,
                    bi_apps bia
            where bij.fk_bi_req_id = bir.pk_bi_req_id
                and bia.pk_bi_apps_id = bij.fk_bi_apps_id
                and bif.pk_bi_freq_id = bij.fk_bi_freq_id)
     where bir.job_name is null;
    

    What I don't understand is why you need the bi_freq and bi_apps in the subquery. A simple query as follows: should not be enough?

    update bi_req bir
       set bir.job_name =
            (select max(bij.job_name) /* use just one job name */
               from bi_jobs bij
            where bij.fk_bi_req_id = bir.pk_bi_req_id)
     where bir.job_name is null;
    

    Published by: W. Sven on September 4, 2009 14:06

  • Error in database engine Microsoft JET '80004005' operation must use an update query.  / fax_remove/index.asp, line 115

    everything began to receive the following error message

    Microsoft JET Database Engine error '80004005'

    Operation must use an update query.

    /fax_remove/index.asp line 115


    for the following Web page

    Remove.canchair.com


    no coding changes have been achieved

    Use your host control panel to check the permissions of the remote folder that contains the mdb and the mdb itself. Contact your host if you are unsure how to proceed.

  • How to join this per_rating_levels this table with query table.

    Dear all,

    Guide how 2 join me per_rating_levels this table with query because, I want 2 see the per_rating_levels.name against all employees.
    When I join this table with query it shows several recording/cortion against this record.

    Query:

    SELECT
    PAPF.full_name employee_name,
    papf1.full_name supervisor_name,
    WOMEN'S WEAR. Employee_number,

    hr_general.decode_job (PAAF.job_id) job_name,
    Department of hr_general.decode_organization (PAAF.organization_id),
    PC.Name, PCE.Comments EmployeeComments,
    (by selecting pce1.comments in per_competence_elements pce1
    where
    PCE.assessment_id = pce1.assessment_id
    AND pce.competence_id = pce1.competence_id
    AND pce1.object_id = pce.object_id) ManagerComments;

    --(sélectionnez rtl.name dans rtl où les pc.) RATING_SCALE_ID = rtl. Name RATING_SCALE_ID)


    OF per_all_people_f women's wear.
    per_all_people_f papf1,
    per_all_assignments_f ADP,
    PA per_appraisals,
    pat per_appraisal_templates,
    per_assessments not,
    per_competence_elements pce,
    per_competences pc


    WHERE papf.person_id = paaf.person_id
    AND paaf.supervisor_id = papf1.person_id
    AND paaf.primary_flag = 'Y '.
    AND pa.appraisee_person_id = papf.person_id
    AND pa.appraisal_template_id = pat.appraisal_template_id
    AND pa.appraisal_id = pas.appraisal_id
    AND pat.assessment_type_id = pas.assessment_type_id
    AND pas.assessment_id = pce.assessment_id
    AND pce.object_id = papf.person_id
    AND pce.competence_id = pc.competence_id
    AND trunc (sysdate) BETWEEN papf.effective_start_date AND papf.effective_end_date
    AND trunc (sysdate) BETWEEN papf1.effective_start_date AND papf1.effective_end_date
    AND trunc (sysdate) BETWEEN paaf.effective_start_date AND paaf.effective_end_date

    - AND papf.employee_number =: p_employee_number
    - AND pa.appraisal_date =: p_appraisal_date
    - AND papf.business_group_id =: p_bg_id

    order of papf.employee_number


    Concerning

    user10941925 wrote:
    Dear all,

    Guide how 2 join me per_rating_levels this table with query because, I want 2 see the per_rating_levels.name against all employees.
    When I join this table with query it shows several recording/cortion against this record.

    '2' in your question means "to"? If so please do not use text instant message in this forum.

    Now I suppose that PRE_RATING_LEVELS is a table in your application. And you are trying to include this table in an existing query. But in doing so, you have found the Cartesian product, correct?

    In fact, how do you think someone a public forum without any knowledge of your table and data structure could help you?

    Lets see, here's your query. I formatted.

    
    select papf.full_name                                       employee_name
         , papf1.full_name                                      supervisor_name
         , papf.employee_number                                 employee_number
         , hr_general.decode_job(paaf.job_id)                   job_name
         , hr_general.decode_organization(paaf.organization_id) department
         , pc.name                                              name
         , pce.comments                                         employeecomments
         , (
              select pce1.comments
                from per_competence_elements pce1
               where pce.assessment_id = pce1.assessment_id
                 and pce.competence_id = pce1.competence_id
                 and pce1.object_id = pce.object_id
           )                                                    managercomments
      from per_all_people_f        papf
         , per_all_people_f        papf1
         , per_all_assignments_f   paaf
         , per_appraisals          pa
         , per_appraisal_templates pat
         , per_assessments         pas
         , per_competence_elements pce
         , per_competences         pc
     where papf.person_id           = paaf.person_id
       and paaf.supervisor_id       = papf1.person_id
       and paaf.primary_flag        = 'Y'
       and pa.appraisee_person_id   = papf.person_id
       and pa.appraisal_template_id = pat.appraisal_template_id
       and pa.appraisal_id          = pas.appraisal_id
       and pat.assessment_type_id   = pas.assessment_type_id
       and pas.assessment_id        = pce.assessment_id
       and pce.object_id            = papf.person_id
       and pce.competence_id        = pc.competence_id
       and trunc(sysdate) between papf.effective_start_date  and papf.effective_end_date
       and trunc(sysdate) between papf1.effective_start_date and papf1.effective_end_date
       and trunc(sysdate) between paaf.effective_start_date  and paaf.effective_end_date
    order
        by papf.employee_number 
    

    Now, you want to add the PRE_RATING_LEVELS in the list so that you can use the column NAME.

    First thing you need to do is to determine the relationship between PRE_RATING_LEVELS and other tables. A relationship can be

    1. one on one
    2 one-to-many
    3. - to-several

    So when you tried to join, your state of health has resulted in 2nd or 3rd type of relationship. If you arrive with someone who knows the business and the data and find the table that could uniquely identify a line of PRE_RATING_LEVELS.

  • Refresh table-form query on table only for pages in .jsff

    I have a group being generated as a presentation of table form. I would like for the page of the table to always refresh, and submit the form to refresh page after.
    I saw a thread about how to do this on a .jspx page: Refresh table-form query on table only

    Unfortunately, this does not work for me because I use the .jsff pages and they do not have access to the facesContext. Does anyone know how to do this for a .jsff page?

    Thank you
    Michelle

    Michelle,

    The taskflow 11 ADF in the equivalent of the region of this expression would be

    #{jhsPageChanged and controllerContext.currentViewPort.viewId=='/MyGroupTaskFlow/MyGroupTable'}

    Unfortunately, this currently does not work because there is an error in the JhsNavigationHandlerImpl class we're going to fix in the next release.
    You can apply a work around by creating a subclass of JhsNavigationHandler and replace as follows:

    ' public Sub handleNavigation (FacesContext facesContext, string action,
    The string result)
    {
    String oldPageFragmentId = ControllerContext.getInstance () .getCurrentViewPort () .getViewId ();
    super.handleNavigation (facesContext, action, result);
    String newPageFragmentId = ControllerContext.getInstance () .getCurrentViewPort () .getViewId ();
    If (! oldPageFragmentId.equals (newPageFragmentId))
    {
    JsfUtils.storeOnRequest (JHS_PAGE_CHANGED, Boolean.TRUE);
    }
    }

    To use your subclass, create a custom template for the facesConfig.vm and modify the navigation Manager to use your subclass.

    Steven Davelaar,
    JHeadstart team.

  • How to see the lock on the table and query?

    Hi all
    How do we see the lock on the table and query?


    Thank you
    Rafi

    Yes Rafi,

    It works fine at my end... see below:

    Opening of Session 1 with scott/tiger and:
    setting a day emp set ename = 'xx' where empno = 7499;

    Opening of Session 2 with scott/tiger and:
    setting a day emp set ename = 'xx' where empno = 7499;
    > This session is locked by a superior.

    Open 3 Session with pw/sys as sysdba and:

    SQL> set serveroutput on
    SQL> BEGIN
      2  dbms_output.enable(1000000);
      3  for do_loop in (select session_id, a.object_id, xidsqn, oracle_username, b.owner owner,
      4  b.object_name object_name, b.object_type object_type
      5  FROM v$locked_object a, dba_objects b
      6  WHERE xidsqn != 0
      7  and b.object_id = a.object_id)
      8  loop
      9  dbms_output.put_line('.');
     10  dbms_output.put_line('Blocking Session : '||do_loop.session_id);
     11  dbms_output.put_line('Object (Owner/Name): '||do_loop.owner||'.'||do_loop.object_name);
     12  dbms_output.put_line('Object Type : '||do_loop.object_type);
     13  for next_loop in (select sid from v$lock
     14  where id2 = do_loop.xidsqn
     15  and sid != do_loop.session_id)
     16  LOOP
     17  dbms_output.put_line('Sessions being blocked : '||next_loop.sid);
     18  end loop;
     19  end loop;
     20  END;
     21  /
    .
    Blocking Session : 139
    Object (Owner/Name): SCOTT.EMP
    Object Type : TABLE
    Sessions being blocked : 134
    
    PL/SQL procedure successfully completed.
    

    HTH
    Girish Sharma

  • Update query complicated (for me).

    Hello!

    Im working in oracle on c# and asp.net application I have to update a complete line with multiple columns, update one line, after I put my request, but do not work, im filter by date (if Im select that one line and not the entire table):

    Update Inc XIPINCIDENCIAS (IDINCI, INSTALACION, IDCONCEP, DESCRIBED, CAUSA, RESPOND, TIPO, FECINICIO, HORAINICIO, PRESENTIAL, STATUS, ' don't) value (1234, 'text', 'text', 'desc', 111, 'qwerty', 't', 18/06/2009, 10:05, OK, ' don't) where rowid = (select min (rowid) keep (dense_rank last order FECINICIO) Inc.) XIPINCIDENCIAS)

    So I have to select the first value 1234 and update all the records in this line, this posible?.

    Sorry for my bad English.

    Thank you.

    something like

    update INC.XIPINCIDENCIAS
       set IDINCI      = 1234
         ,INSTALACION  = 'text'
         ,IDCONCEP     = 'text'
         ,DESCRI       = 'desc'
         ,CAUSA        = 111
         ,SOLUCION     = 'qwerty'
         ,TIPO         = 't'
         ,FECINICIO    = to_date ('18/06/2009', 'dd/mm/yyyy') -- assuming this is a date
         ,HORAINICIO   = '10:05'
         ,PRESENCIAL   = 'OK'
         ,STATUS       = 'N'
     where id in (select id from tbl where idinci = 1234)
    
  • [Microsoft] [ODBC Microsoft Access driver] Operation must use an update query.

    Trying to insertion or put to update an access database I get on the error message:

    [Microsoft] [ODBC Microsoft Access driver] Operation must use an update query.

    What is the cause of this, and what could be the solution?

    Thank you.

    Ross

    I discovered after testing that the directory where the database file resides must be barking like rwx as well - not intuitively obvious, certainly!

    I ended up creating a new directory with the file of database inside also well marked for write access in the world and relying on my permissions of normal file off root on the server to protect the directory and file.

    Thank you!

    Ross

  • How can I update query joining multiple tables.

    Hi team,

    I want to update a column of TABLE 1, but it should rally with TABLE 2. Under certain conditions, that it should be updated.

    I created as below. But it does not work.

    Can you please suggest me how can I do?

    UPDATE Table1
    SET Table1.Column1 = 'name'
    FROM Table1 T1, Table2 T2
    WHERE T1.id = T2.id
    and T1.name  = T2.Name
    And T1.id = UPDATE Table1
      SET Table1.Column1 = 'name'
    FROM Table1 T1, Table2 T2
    WHERE T1.id = T2.id
    and T1.id = '100';
    
    


    Hello

    Your update statement is not at all clear.

    Something like below:

    UPDATE Table1 T1

    THE T1 VALUE. Column1 = 'name '.

    WHERE EXISTS (SELECT 1 FROM Table2 T2 WHERE)

    T1.ID = T2.id and T1.name = T2. (Name);

    (Or)

    UPDATE Table1 T1

    THE T1 VALUE. Column1 = 'name '.

    WHERE EXISTS (SELECT 1 FROM Table2 T2 WHERE)

    T1.ID = T2.id and T1.name = T2. The name) and T1.id = '100';

  • Update a table with a query that uses the table updated

    Hi This is my request. It's a mistake, but I hope that the basic idea may carry out. Cost_before_Decision is a column by using an alter table statement, I added:
    UPDATE fraud_nov_14_final
    SET Cost_before_Decision = (select Cost_Prior 
                                from    fraud_nov_14_final ff
                                      ,(select cla_case_no, sum(case when decline = 1 or decline = 2  
                                                                  THEN (nvl(total_cost_adj_old,0) + nvl(decline_estimate,0)) 
                                                                  ELSE Total_Cost 
                                                                  END) Cost_Prior
                                        from reporting.ci_final@test
                                            group by cla_case_no) z
                                                    where ff.cla_case_no = z.cla_case_no)
    Error I get is:
    Error report:
    SQL error: ORA-01427: einreihig subquery returns multiple rows
    01427 00000 - "einreihig subquery returns several lines.

    Thanks in advance for your help:

    Banner:
    Oracle Database 11 g Release 11.2.0.2.0 - 64 bit Production
    PL/SQL Release 11.2.0.2.0 - Production
    "CORE 11.2.0.2.0 Production."
    AMT for Linux: Version 11.2.0.2.0 - Production
    NLSRTL Version 11.2.0.2.0 - Production

    Try this

    update fraud_nov_14_final a
       set cost_before_decision = (
                        select cost_prior
                          from (
                             select cla_case_no, sum(case when decline = 1 or decline = 2  then (nvl(total_cost_adj_old,0) + nvl(decline_estimate,0)) else total_cost end) cost_prior
                               from reporting.ci_final@test
                             group by cla_case_no
                               ) b
                                   where a.cls_case_no = b.cls_case_no
                         )
    
  • MV incremental update on remote database table join query

    Hello

    I am creating a MV with incremental refresh option on a join query with 2 tables of database remote.

    Created journals of MV on 2 tables in the remote database.
    DROP MATERIALIZED VIEW LOG ON emp;
    CREATE MATERIALIZED VIEW LOG ON emp WITH ROWID;
    DROP MATERIALIZED VIEW LOG ON dept;
    CREATE MATERIALIZED VIEW LOG ON WITH ROWID dept;

    Now, try to create the MV,

    Mv_emp_dept CREATE MATERIALIZED VIEW
    IMMEDIATE CONSTRUCTION
    REFRESH QUICKLY
    START BY SYSDATE
    1 /(24*15) NEXT SYSDATE+.
    WITH THE PRIMARY KEY
    AS
    SELECT e.ename, e.job, d.dname FROM emp@remote_db e, dept@remote_db d
    WHERE e.deptno = d.deptno
    AND e.sal > 800;

    Get the error ORA-12052.

    Can you please help me.

    Thank you
    Anjan

    Need to include the ROWID in the mview. Should be something like: -.

    CREATE MATERIALIZED VIEW mv_emp_dept
    BUILD IMMEDIATE
    REFRESH FAST
    AS
    SELECT e.rowid rowide, e.ename, e.job, d.rowid rowidd, d.dname
    FROM emp@remote_db e,dept@remote_db d
    WHERE e.deptno=d.deptno
    AND e.sal>800;
    

Maybe you are looking for