Update a Temp table from the values of another table (Best Approach)

Hi 
Can anyone help me out to find a solution for the requirement mentioned below.
I have a temp table like I have mentioned below. Column Period Name will have values like "Current Year", Two Years Before", Three Years Before" , YTD etc.
Table: Period Count :
DECLARE @PeriodCount TABLE(RowID INT IDENTITY(1,1),InterventionID INT,Name Nvarchar(500),StartDate DateTime,EndDate DateTime,PeriodName Nvarchar(100),RowDisplayOrder INT)
In my second temp table(@Report) I have 30 unique Rownames. Now I need to update the figures of the columns like "OneYear Before", Two Years Before", Three Years Before " and all with the matching "InterventionID from the above table.
ie: Update the figures of the below table (TwoYearsBefore,Three YearsBefore ) and all with the matching interventionID from the first table.
Note: Field RowName is common in both the tables.
Table :@Report
DECLARE @Report TABLE(
SectionDisplayOrder INT,
SectionName NVARCHAR(MAX),
SectionCode NVARCHAR(MAX),
SectionPeriod NVarchar(Max),
RowName NVARCHAR(MAX),
DisplayFormat NVARCHAR(50),
Uom NVARCHAR(50),
IsBold BIT,
Padding INT,
IsPositiveVariance BIT,
ThreeYearsBefore FLOAT,
TwoYearsBefore FLOAT,
OneYearBefore FLOAT,
TwelveMonths FLOAT,
[Target] FLOAT,
Ytd FLOAT,
Month1 FLOAT,
Month2 FLOAT,
Month3 FLOAT,
Month4 FLOAT,
Month5 FLOAT,
Month6 FLOAT,
Month7 FLOAT,
Month8 FLOAT,
Month9 FLOAT,
Month10 FLOAT,
Month11 FLOAT,
Month12 FLOAT
INSERT INTO @Report
select
DISTINCT
NULL,
' Maintenance',
'fractoryMaintenance',
NULL,
P.Name,
'N0',
'no',
0,
0,
0,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL
from @PeriodCount P
Thanks in advance.
pep

RowName
ThreeYearsBefore
TwoYearsBefore
OneYearBefore
TwelveMonths
Target
Ytd
Month1
Month2
Month3
Cross Over - Repaired
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Floor Tiles - Mechanical Damages
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Floor Tiles - Repaired
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Floor Tiles - Replaced
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Flue Wall - Cleaned
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Flue Wall - Mechanical Damages
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Flue Wall - Repaired
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Flue Wall - Replaced
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Flue Wall - Straightening
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Flue Wall - Wool Stuffed
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Flue Wall Burner Block - Replaced
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Flue Wall Top Blocks - Cover Repaired
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Flue Wall Top Blocks - Mechanical Damages
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Flue Wall Top Blocks - Repaired
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Flue Wall Top Blocks - Replaced
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Flue Wall Top Blocks - Wool Stuffed
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Head Wall - Cleaned
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Head Wall - Cover Repaired
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Head Wall - Full Sealed
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Head Wall - Replaced
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
Head Wall - Wool Stuffed
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL

Similar Messages

  • How do I update all the records in a table from the contents of another table?

    Ok some situation information, I have a pervasive database that runs our accounting software that I am pulling a product list from.  I have that list stored in a table in SQL.  From time to time we update the records in the pervasive database and
    I want to be able to pull those changes into the SQL table.  I don't want to drop the table and recreate it because if a product is no longer active in the pervasive database it will not be returned by the query (if I return all the products even the
    inactive ones I will get thousands of records rather than just a few hundred) and I do not want to loose the products from the table that are now inactive.  
    So what I want to be able to do is pull the list from pervasive, compare it to the list that exists in SQL and update any changed records, add any new records, and leave any now missing records alone(missing from the pervasive list but present in the SQL
    list).  I have no trouble pulling the records from pervasive (now) but I am a little stumped on how to do the rest.  I am not sure if this is a situation to use MERGE or not.  I also do not really need this to be done on a regular basis as the
    changes do not happen often enough for that, the ability to manually trigger it would be enough.
    Any help would be appreciated.
    David

    Hi David,
    lets say you want to go with the lookup transformation.
    lets say u want to move the data from server A table A1 to Server B table B1
    What you need to do is the following:
    Cofigure the Lookup options as follows:
    - In general -> Specify how to handle rows with no macthing entries -> "Redirect Rows to no Match Output"
    -  In Connection -> Set the ole db connection to the Server B and select the table B you want to lookup the values in your case the table where you want to input the changes 
    -  In columns -> link the product column from table A to product column in table B. And do not select any rows to output.
    - now your component is ready next you need to input. so when u connect your lookup to the destination component You will get an option to select which output you want to use - use "Lookup No Match Output".
    this will actually just allow you to add only new items only to the table B.
    Teddy Bejjani - BI Specialist @ Netways

  • Is it possible to reference one cell from the value of another?

    Is it possible to reference one cell from the value of another e.g.
    value of b1 = value of c(value of a1)
    So if a1 = 3 then b1 = c3, if a1 = 5 then b1 = c5.

    Excellent!
    Thanks Wayne. Just saved me many hours and a headache.
    Works like a dream.
    Thank you for your succinct (and accurate) answer.
    Mark

  • Update one column while getting the value in another column

    Is it possible to in one single SQL statement update two columns in a table while at the same time obtaining the value of another column, on the same row, in the same table, and independently (that is, the update of the columns has nothing to do with the data that I want from another column)*?* Of course, I can do this in two operations, one being a "select" and the other one being an "update", but since I am in the same table and even on the same row, is it really necessary to make TWO database calls? That's why I want to combine the the two SQL-statements, for reasons of presumed effiency.

    jsun wrote:
    Is it possible to in one single SQL statement update two columns in a table while at the same time obtaining the value of another column, on the same row, in the same table, and independently (that is, the update of the columns has nothing to do with the data that I want from another column)*?* Of course, I can do this in two operations, one being a "select" and the other one being an "update", but since I am in the same table and even on the same row, is it really necessary to make TWO database calls? That's why I want to combine the the two SQL-statements, for reasons of presumed effiency.Two statements != two database calls.
    At least not in terms of SQL.
    JDBC requires a 'statement' but in SQL (depending on the data source) that can include multiple statements. An obvious example of this is a stored proc but there are other ways as well.

  • Remove row from table when adding values to another table

    hi am adding value programticaly how can i remove the row i just  add from the table
    this is how am adding value
    public void addMember(javax.faces.event.ActionEvent actionEvent) {
    List<String> tempTable = new ArrayList<String>();
    //Code to get the bindings for TargetVO :
    RowKeySet selectedEmps = getEmpTable().getSelectedRowKeys(); 
    Iterator selectedEmpIter = selectedEmps.iterator();
    DCBindingContainer bindings =
    (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
    DCIteratorBinding empIter = bindings.findIteratorBinding("UserDetailsViewVO1Iterator");
    RowSetIterator empRSIter = empIter.getRowSetIterator();
    while(selectedEmpIter.hasNext()){
    Key key = (Key)((List)selectedEmpIter.next()).get(0);
    Row currentRow = empRSIter.getRow(key);
    onRowCreate(currentRow);
    boolean b = selectedEmps.remove(currentRow);
            i what to clear the row i just selected from the table
    AdfFacesContext.getCurrentInstance().addPartialTarget(empTable);
    // empTable
    public void onRowCreate( Row currentRow ) {
    BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
    //access the name of the iterator the table is bound to.
    DCIteratorBinding dciter = (DCIteratorBinding) bindings.get("addmemberBeanIterator");
    //access the underlying RowSetIterator
    RowSetIterator rsi = dciter.getRowSetIterator();
    //get handle to the last row
    Row lastRow = rsi.last();
    //obtain the index of the last row
    int lastRowIndex = rsi.getRangeIndexOf(lastRow);
    /*check if the user is added already*/
    /*OperationBinding oper2 = (OperationBinding) bindings.get("check if user exists method binding");
    oper2.getParamsMap().put("attributeName1", uniqueUserAttributeValue);
    Object ret = oper2.execute();*/
    //create a new row
    Row newRow = rsi.createRow();
    String f = (String)currentRow.getAttribute("Firstname");
    String s = (String)currentRow.getAttribute("Surname");
    String u = (String)currentRow.getAttribute("Username");
    String n = (String)currentRow.getAttribute("Emailaddress");
    // String orgid = (String)currentRow.getAttribute("Organisationid");
    newRow.setAttribute("firstname", f);
    newRow.setAttribute("surname", s);
    newRow.setAttribute("name", u);
    newRow.setAttribute("emailaddress", n);
    // newRow.setAttribute("Organisationid1",orgid);
    //initialize the row
    newRow.setNewRowState(Row.STATUS_INITIALIZED);
    //add row to last index + 1 so it becomes last in the range set
    rsi.insertRowAtRangeIndex(lastRowIndex +1,  newRow);
    //make row the current row so it is displayed correctly
    rsi.setCurrentRow(newRow); 
    System.out.println("Username " + u);
    System.out.println("firstname " + f);
    System.out.println("surname " + s);
    System.out.println("email " + n);
    // refereshpage();
    // return null;
    am in jdevloper 11.1.1.6.0
    my table is
    public void onRowCreate( Row currentRow ) {
    BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
    //access the name of the iterator the table is bound to.
    DCIteratorBinding dciter = (DCIteratorBinding) bindings.get("addmemberBeanIterator");
    //access the underlying RowSetIterator
    RowSetIterator rsi = dciter.getRowSetIterator();
    //get handle to the last row
    Row lastRow = rsi.last();
    //obtain the index of the last row
    int lastRowIndex = rsi.getRangeIndexOf(lastRow);
    /*check if the user is added already*/
    /*OperationBinding oper2 = (OperationBinding) bindings.get("check if user exists method binding");
    oper2.getParamsMap().put("attributeName1", uniqueUserAttributeValue);
    Object ret = oper2.execute();*/
    //create a new row
    Row newRow = rsi.createRow();
    String f = (String)currentRow.getAttribute("Firstname");
    String s = (String)currentRow.getAttribute("Surname");
    String u = (String)currentRow.getAttribute("Username");
    String n = (String)currentRow.getAttribute("Emailaddress");
    // String orgid = (String)currentRow.getAttribute("Organisationid");
    newRow.setAttribute("firstname", f);
    newRow.setAttribute("surname", s);
    newRow.setAttribute("name", u);
    newRow.setAttribute("emailaddress", n);
    // newRow.setAttribute("Organisationid1",orgid);
    //initialize the row
    newRow.setNewRowState(Row.STATUS_INITIALIZED);
    //add row to last index + 1 so it becomes last in the range set
    rsi.insertRowAtRangeIndex(lastRowIndex +1,  newRow);
    //make row the current row so it is displayed correctly
    rsi.setCurrentRow(newRow);  
    System.out.println("Username " + u);
    System.out.println("firstname " + f);
    System.out.println("surname " + s);
    System.out.println("email " + n);
    // refereshpage();
    // return null;

    hi,
    make the table selection single and use this links 4 ur task.
    http://www.baigzeeshan.com/2010/06/deleting-multi-selected-rows-from-adf.html
    http://deepakcs.blogspot.com/2013/01/ejb-dc-deleting-multi-selected-rows.html
    https://forums.oracle.com/thread/2534813
    https://blogs.oracle.com/jdevotnharvest/entry/iterating_selected_rows_in_an
    txs

  • Table - populate one table with data from the list of another table

    Hello All,
    I am a newbie in Swing and am a book and few tutorials old.
    I am trying to achieve the following:
    (1) I populate Table1 (a JTable) with a list of data - each row consists of several columns. And I have a Table2 (also JTable) that is in the beginning empty.
    Both the tables (Table1 and Table2) are showed in the window.
    (2) Lets say, there's a button (JButton) in between the two tables.
    Now if I Select a row from Table1 and press the button, this row will be sent/copied to Table2.
    And this way I can choose different rows and pass the data to Table2.
    I have manages to make Table1 and put data in it ... but for the rest, I don't know where and how to begin.
    Would appreciate some ideas and tips.
    Thank you.

    Since you are using a button to start the copy process you don't need to worry about a ListSelectionListener or a MouseListener. You need to create a button with an ActionListener that does the following:
    a) Create an Array based on the size of the number of columns in the table
    b) get the index of the selected row
    c) populate the Array with data from the TableModel by using the table.getModel().getValueAt(...) method for each
    d) Now you can add the row of data to the other JTable by updating its model.
    DefaultTableModel model2 = (DefaultTableModel)table2.getMode();
    model.addRow( theArray );

  • How to display four rows in one table and the rest in another table?

    Hello everybody,
    I am trying to solve a problem that I cannot find any direct answers to.  In essence the problem goes like this:
    1) I want to populate two tables from xml data.
    2) The first table should only diplay the first four rows of data.
    3) The second table should display the rest of the rows (starting from row 5).
    I can create the first table so that it only shows up to the first four rows.
    I cannot find a way to set up the second table so that it shows the rest of the rows starting at row 5.
    To illustrate the problem I have attached my livecycle template file with the two table definitions and the corresponding xml data.  If you put these two files in the same directory and open the pdf file using LiveCycle designer you should see what I mean. (The table with column heading 'Item List 2' shows all of the records in the xml file when I only want it to show records 5 and 6)
    Some other niggling issue I have come up against is the data displays differently when I open the pdf file with Adobe Acrobat pro and then use the Forms/manage form data/import data menu to bind that xml file.  ( For some the 'Item List 2' table does not display any data)  Does anybody know why that is occurring?
    Any help on this would be very much appreciated because it will help me get past a significant issue I am running into with a complex form I am trying to build for a client of mine.
    Note:  I am using Adobe Acrobat Pro version 9 and the Adobe Livecycle is version 8.2.1
    Thanks in advance.
    Geoff.

    Hi,
    First solution is you can play with predicates:
    val value = 4
    var items= Ref(xfa.resolveNodes(concat("$record.itemsCollection.item.[itemNumber>""",value,"""]")))
    after that you will have to use addInstance and assign all fields by scripting. It is hard way.
    Second solution you can simply hide unneccessary rows by putting initialise script on item row:
    if (this.index <4){this.presence = "hidden" }
    Hope this helps.
    Paul Butenko

  • Update a Checkbox based on the value of another Checkbox

    We have a business rule that needs to following to happen.
    If the "Commit" checkbox is checked then the "Forecast" checkbox needs to be checked.
    We would like to handle this through workflow. Here is what we have done so far
    Workflow Rule Condition: FieldValue('<bCommit_ITAG>') = 'Y'
    Action: Field to Update - Field Name* is set to Forecast
    Value is set to: [<Forecast>]='Y'
    Thanks for the help

    Brian,
    What you have written should work, try Value is set to: <Forecast>=Yes.
    This should also be created in the Administration section as its not web services but workflows, you'll get better responses.
    cheers
    Alex

  • Update one table with the max value of another table

    CREATE TABLE [dbo].[General](
    [a_id] int NOT NULL,
    [a_date] datetime NOT NULL,
    [c_date] datetime NULL)
    CREATE TABLE [dbo].[Specific](
    [a_id] int NOT NULL,
    [a_date] datetime NOT NULL,
    [b_id] int NOT NULL,
    [d_date] datetime NULL)
    insert into General values (111,'Jan 1 2013', null)
    insert into General values (112,'Jan 1 2013', 'Mar 10 2014')
    insert into General values (113,'Jan 1 2013', null)
    insert into General values (114,'Feb 1 2013', null)
    insert into General values (115,'Feb 1 2013', 'Apr 1 2013')
    insert into General values (116,'Feb 1 2013', 'Jan 1 1970')
    insert into Specific values (111,'Jan 1 2013',1, 'Jan 1 2013')
    insert into Specific values (111,'Jan 1 2013',2, 'Feb 1 2013')
    insert into Specific values (111,'Jan 1 2013',3, 'Mar 1 2013')
    insert into Specific values (112,'Jan 1 2013',1, 'Jan 1 2013')
    insert into Specific values (112,'Jan 1 2013',2, 'Feb 1 2013')
    insert into Specific values (113,'Jan 1 2013',1, 'Jan 1 1970')
    insert into Specific values (114,'Feb 1 2013',1, null)
    insert into Specific values (115,'Feb 1 2013',1, 'Jan 15 2013')
    insert into Specific values (115,'Feb 1 2013',2, 'Feb 15 2013')
    insert into Specific values (116,'Feb 1 2013',1, 'Jan 30 2013')
    insert into Specific values (116,'Feb 1 2013',2, 'Jan 1 1970')
    I want to update General.c_date only when the values are null or Jan 1 1970 from the maximum value of Specific.d_date as long as the maximum is not null or Jan 1 1970.    The two tables join on a_id and a_date.  In the example  above 
    a_id = 111 and a_date = Jan 1 2013 should have c_date = Mar 1 2013 and a_id = 116 and a_date = Feb 1 2013 should have c_date = Jan 30 2013.
    lg

    Try the below:
    CREATE TABLE [dbo].[General](
    [a_id] int NOT NULL,
    [a_date] datetime NOT NULL,
    [c_date] datetime NULL)
    CREATE TABLE [dbo].[Specific](
    [a_id] int NOT NULL,
    [a_date] datetime NOT NULL,
    [b_id] int NOT NULL,
    [d_date] datetime NULL)
    insert into General values (111,'Jan 1 2013', null)
    insert into General values (112,'Jan 1 2013', 'Mar 10 2014')
    insert into General values (113,'Jan 1 2013', null)
    insert into General values (114,'Feb 1 2013', null)
    insert into General values (115,'Feb 1 2013', 'Apr 1 2013')
    insert into General values (116,'Feb 1 2013', 'Jan 1 1970')
    insert into Specific values (111,'Jan 1 2013',1, 'Jan 1 2013')
    insert into Specific values (111,'Jan 1 2013',2, 'Feb 1 2013')
    insert into Specific values (111,'Jan 1 2013',3, 'Mar 1 2013')
    insert into Specific values (112,'Jan 1 2013',1, 'Jan 1 2013')
    insert into Specific values (112,'Jan 1 2013',2, 'Feb 1 2013')
    insert into Specific values (113,'Jan 1 2013',1, 'Jan 1 1970')
    insert into Specific values (114,'Feb 1 2013',1, null)
    insert into Specific values (115,'Feb 1 2013',1, 'Jan 15 2013')
    insert into Specific values (115,'Feb 1 2013',2, 'Feb 15 2013')
    insert into Specific values (116,'Feb 1 2013',1, 'Jan 30 2013')
    insert into Specific values (116,'Feb 1 2013',2, 'Jan 1 1970')
    update A
    Set c_date = (Select MAX(d_date) From Specific B where A.a_id = B.a_id Group by a_id
    having MAX(d_date) is not null
    and MAX(d_date)<>'1970-01-01 00:00:00.000')
    From General A
    Select * From General
    Drop table general,specific
    This would cause all records in General table to get updated which is not what asker want
    see below statement
    I want to update General.c_date only when the values are null or Jan 1 1970
    from the maximum value of Specific.d_date as long as the maximum is not null or Jan 1 1970
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • How to set the value of the column as the value of other table coulmn.

    dear friends
    i have a table SO_D having coulm (so_no,item_cd,qty,rate,unit)
    and anather table so_tax(so_no,tax_code,tax_percent,tax_amt,item_cd,flag)
    now i have ALL VALUES in the first table i.e so_d
    but in table so_tax i have all values except item_cd.
    the values in the so_tax table comes from so_d by the formula ((qty*rate)*percent(which in so_tax table))/100) corresponding to each item_cd
    here so_no and item_cd are primary key in so_d and foreign key in the so_tax.
    and for each so_no the item_Cd is unique and my repeat for new so_no in the table so_d.
    now i have the problem that in the table so_tax the value in the coulmn item_cd is blank .
    but the tax amount is calculated for each item_cd .
    now i want to update the table with the item_Cd values ad they are in the so_d table according to the tax amount calculated by using above formula.
    please suggest the solution..
    any query please ask
    i can provide values for the each table..
    thanks in advance

    Data sample for the table so_d is
    SO_NO ITEM_CD QTY RATE UNIT
    AT0064 12000135 15 22163 NOS
    AT0064 12000136 15 20337.82 NOS
    AT0064 12000137 15 21902.27 NOS
    AT0064 12000138 15 20337.82 NOS
    AT0064 12000139 15 20337.82 NOS
    AT0149 CO000109 2 20755 NOS
    AT0149 CO000110 1 2502 NOS
    AT0149 CO000111 1 2502 NOS
    AT0149 CO000112 1 2502 NOS
    AT0149 CO000113 1 9328 NOS
    AT0149 CO000114 1 15476 NOS
    AT0149 CO000115 1 82150 NOS
    AT0149 CO000116 1 2915 NOS
    AT0149 CO000117 1 11766 NOS
    AT0149 CO000118 1 2968 NOS
    AT0149 CO000119 1 2968 NOS
    AT0149 CO000120 1 3286 NOS
    AT0149 CO000121 1 7950 NOS
    AT0149 CO000122 1 1908 NOS
    SAMPLE DATA FOR SO_TAX
    SO_NO TAX_CODE PERCENT AMT ITEM_cD FLAG
    AT0064 X02 4 13297 Y
    AT0064 X02 4 12203 Y
    AT0064 X02 4 13141 Y
    AT0064 X02 4 12203 Y
    AT0064 X02 4 12203 Y
    AT0149 V16 14.5 6018 Y
    AT0149 V16 14.5 363 Y
    AT0149 V16 14.5 363 Y
    AT0149 V16 14.5 363 Y
    AT0149 V16 14.5 1353 Y
    AT0149 V16 14.5 2244 Y
    AT0149 V16 14.5 11912 Y
    AT0149 V16 14.5 423 Y
    AT0149 V16 14.5 1706 Y
    AT0149 V16 14.5 430 Y
    AT0149 V16 14.5 430 Y
    AT0149 V16 14.5 476 Y
    AT0149 V16 14.5 1153 Y
    AT0149 V16 14.5 277 Y
    HERE ITE_CD IS BLANK

  • Edit decision table from the web module

    Hello every one <br>I am using decision table to create rules and my question is can I edit decision table from the web module <br> i.e. can I change decision table values from jsp files(invoke.jsp) and if yes can any one please tell me the steps I should fallow to do it.<br>
    thank you.

    Hi Pratap,
    No, this is not possible. The Decision Table API is not public and the condition and action values can be changed only through the NWDS in BRM 7.1.1
    Regards,
    Arti

  • Update Rows with info from other Rows in Same Table.

    I'm trying to update rows with information from the same table. The table gets loaded with info from a report that runs and it has to be a new entry every month but I would like to carry over some of the info from last month. This statement below runs but updates all rows in the new table load and in my test cases I only made a few match so only like 5 records should get updated. This is an example of what I'm trying to do. If I add this(C2.COL_INVC_ID = C1.COL_INVC_ID) to the last "*Where*" statement I get an invalid identifier for "C2.COL_INVC_ID". So what am I doing wrong here??? How can I update only the rows that where also in last months run???
    Thanks in advance for any help!
    Update OpenIssues OI1
    Set(OI1.Num, OI1.Status, OI1.Code, OI1.LastModifiedDate) =
    (Select OI2.Num, OI2.Status, OI2.Code, OI2.LastModifiedDate
    From OpenIssues OI2
    Where OI2.num = OI1.num and OI2.TableLoadDate = TO_DATE('01/31/2012 00:00:00', 'MM/DD/YYYY HH24:MI:SS')
    Where and OI1.TableLoadDate = TO_DATE('02/29/2012 00:00:00', 'MM/DD/YYYY HH24:MI:SS')
    SQLMe

    Hi,
    Welcome to the forum!
    SQLMe wrote:
    I'm trying to update rows with information from the same table. The table gets loaded with info from a report that runs and it has to be a new entry every month but I would like to carry over some of the info from last month. This statement below runs but updates all rows in the new table load and in my test cases I only made a few match so only like 5 records should get updated. This is an example of what I'm trying to do. If I add this(C2.COL_INVC_ID = C1.COL_INVC_ID) to the last "*Where*" statement I get an invalid identifier for "C2.COL_INVC_ID". If the aliases c1 and c2 aren't defined anywhere, then you can't use them anywhere.
    The WHERE clause of the UPDATE statement can only reference the table being updated, ot1 in this case.
    So what am I doing wrong here??? How can I update only the rows that where also in last months run???
    Thanks in advance for any help!
    Update OpenIssues OI1
    Set(OI1.Num, OI1.Status, OI1.Code, OI1.LastModifiedDate) =
    (Select OI2.Num, OI2.Status, OI2.Code, OI2.LastModifiedDate
    From OpenIssues OI2
    Where OI2.num = OI1.num and OI2.TableLoadDate = TO_DATE('01/31/2012 00:00:00', 'MM/DD/YYYY HH24:MI:SS')
    Where and OI1.TableLoadDate = TO_DATE('02/29/2012 00:00:00', 'MM/DD/YYYY HH24:MI:SS')
    ------------There's a syntax error in the last line. Either something got lost when you posted the code, or you just don't want the keyword AND. You certainly don't want AND immediately after WHERE.
    In general, if it's not obvious how to do an UPDATE, then UPDATE is the wrong tool: you want MERGE instead.
    Whenever you have a problem, please post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) from all tables involved.
    Also post the results you want from that data, and an explanation of how you get those results from that data, with specific examples.
    Simplify the problem as much as possible. Remove all tables and columns that play no role in this problem.
    If you're asking about a DML statement, such as UPDATE, the CREATE TABLE and INSERT statements should re-create the tables as they are before the DML, and the results will be the contents of the changed table(s) when everything is finished.
    Always say which version of Oracle you're using.
    See the forum FAQ {message:id=9360002}

  • What's the exact trigger for when updating/inserting/deleting data from one DB to another DB which contains same info?

    Hi guys,
    I have created a copy of the AdventureWorks2012 DB called AdventureWorks2012_new on the same instance.
    I have created the following trigger below but my friend who is a DBA told me that this is not correct and I should be using the inserted table when creating this trigger. I would like AdventureWorks2012_new DB to be updating/inserting/deleting data from
    the same tables that have been updated/inserted/deleted in the AdventureWorks2012 DB. How exactly should I do this for all the tables in the whole database ? What I have written below is just for one of the tables, is there a quicker way to do it for all tables
    in this DB so that it performs the actions mentioned above, automatically ? Help would be greatly appreciated so I can understand how this works, thanks
    CREATE TRIGGER [HumanResources].[tr_HumanResources_AfterUpdate]
    ON [AdventureWorks2012].[HumanResources].[Department]
    AFTER UPDATE
    AS
    BEGIN
    SET NOCOUNT ON;
    UPDATE AdventureWorks2012_new.HumanResources.Department
    SET Name = t2.Name,
    GroupName = t2.GroupName,
    ModifiedDate = t2.ModifiedDate
    FROM AdventureWorks2012.HumanResources.Department AS t2
    INNER JOIN AdventureWorks2012_new.HumanResources.Department AS t1
    ON t2.DepartmentID = t1.DepartmentID
    END

    For insert it's easy:
    CREATE TRIGGER [HumanResources].[tr_HumanResources_AfterInsert]
    ON [AdventureWorks2012].[HumanResources].[Department]
    AFTER INSERT
    AS
    BEGIN
    SET NOCOUNT ON;
    Insert INTO AdventureWorks2012_new.HumanResources.Department
    (DepartmentID, Name, GroupName, ModifiedDate)
    SELECT DepartmentID, Name, GroupName, ModifiedDate
    FROM Inserted;
    END
    I didn't verify column names, so you may need to make sure to use correct column names for that table.
    Setting replication is a bit advanced topic although BOL is clear and you may start here
    http://technet.microsoft.com/en-us/library/ms151198.aspx
    If it will be complicated for you, you can ask extra questions in the MSDN Replication forum.
    For every expert, there is an equal and opposite expert. - Becker's Law
    My blog
    My TechNet articles

  • Skip gather stats for a partition | table from the gather_stats_job in 10g

    Hi all,
    Can we skip gather statistics for a table or a partition in a partitioned-table from the GATHER_STATS_JOB in Oracle 10g ?
    (cause that partition store in an offline-datafile, so GATHER_STATS_JOB had errors when running in sheduled).
    Thanks.
    Edited by: user8710247 on Nov 26, 2011 6:41 PM

    GATHER_TABLE_STATS will default to GRANULARITY 'AUTO' which will include Global and Partition Statistics. Global Statistics have to be across all the Partitions -- so Oracle will attempt to read all the partitions for this !
    You need to run GATHER_TABLE_STATS with GRANULARITY 'PARTITION' and naming the other Partitions --- i.e. run it for each of the online partitions.
    See :
    SQL> create table XYZ (col_1  number, col_2 varchar2(5))
      2  partition by range (col_1)
      3  (partition P1 values less than (10) tablespace HEMANT,
      4  partition P2 values less than (100) tablespace USERS)
      5  /
    Table created.
    SQL> insert into XYZ values (5,'Five');
    1 row created.
    SQL> insert into XYZ values (50,'Fifty');
    1 row created.
    SQL> exec dbms_stats.gather_table_stats('','XYZ',estimate_percent=>100,granularity=>'ALL');
    PL/SQL procedure successfully completed.
    SQL> select partition_name, tablespace_name , num_rows, sample_size from user_tab_partitions
      2  where table_name = 'XYZ'
      3  /
    PARTITION_NAME                 TABLESPACE_NAME                  NUM_ROWS
    SAMPLE_SIZE
    P1                             HEMANT                                  1
              1
    P2                             USERS                                   1
              1
    SQL>
    SQL> exec dbms_stats.lock_table_stats('','XYZ');
    PL/SQL procedure successfully completed.
    SQL> alter tablespace HEMANT offline;
    Tablespace altered.
    SQL> exec dbms_stats.gather_table_stats('','XYZ',estimate_percent=>100,granularity=>'ALL');
    BEGIN dbms_stats.gather_table_stats('','XYZ',estimate_percent=>100,granularity=>'ALL'); END;
    ERROR at line 1:
    ORA-20005: object statistics are locked (stattype = ALL)
    ORA-06512: at "SYS.DBMS_STATS", line 13159
    ORA-06512: at "SYS.DBMS_STATS", line 13179
    ORA-06512: at line 1
    SQL>
    SQL> exec dbms_stats.unlock_table_stats('','XYZ');
    PL/SQL procedure successfully completed.
    SQL> exec dbms_stats.lock_partition_stats('','XYZ','P1');
    PL/SQL procedure successfully completed.
    SQL> exec dbms_stats.gather_table_stats('','XYZ',estimate_percent=>100,granularity=>'ALL');
    BEGIN dbms_stats.gather_table_stats('','XYZ',estimate_percent=>100,granularity=>'ALL'); END;
    ERROR at line 1:
    ORA-00376: file 2 cannot be read at this time
    ORA-01110: data file 2:
    '/usr/oracle/oradata/MONDB/datafile/o1_mf_hemant_7d6m8zkx_.dbf'
    ORA-06512: at "SYS.DBMS_STATS", line 13159
    ORA-06512: at "SYS.DBMS_STATS", line 13179
    ORA-06512: at line 1
    SQL>
    SQL> exec dbms_stats.gather_table_stats('','XYZ',estimate_percent=>100,partname=>'P2');
    BEGIN dbms_stats.gather_table_stats('','XYZ',estimate_percent=>100,partname=>'P2'); END;
    ERROR at line 1:
    ORA-00376: file 2 cannot be read at this time
    ORA-01110: data file 2:
    '/usr/oracle/oradata/MONDB/datafile/o1_mf_hemant_7d6m8zkx_.dbf'
    ORA-06512: at "SYS.DBMS_STATS", line 13159
    ORA-06512: at "SYS.DBMS_STATS", line 13179
    ORA-06512: at line 1
    SQL> exec dbms_stats.gather_table_stats('','XYZ',estimate_percent=>100,partname=>'P2',granularity=>'GLOBAL AND PARTITION');
    BEGIN dbms_stats.gather_table_stats('','XYZ',estimate_percent=>100,partname=>'P2',granularity=>'GLOBAL AND PARTITION'); END;
    ERROR at line 1:
    ORA-00376: file 2 cannot be read at this time
    ORA-01110: data file 2:
    '/usr/oracle/oradata/MONDB/datafile/o1_mf_hemant_7d6m8zkx_.dbf'
    ORA-06512: at "SYS.DBMS_STATS", line 13159
    ORA-06512: at "SYS.DBMS_STATS", line 13179
    ORA-06512: at line 1
    SQL>
    SQL> exec dbms_stats.gather_table_stats('','XYZ',estimate_percent=>100,partname=>'P2',granularity=>'PARTITION');
    PL/SQL procedure successfully completed.
    SQL>Hemant K Chitale

  • Access 2013 crashed when I export a table from the access

    Hi!
    Access 2013 always crashed when I export a table from the access to the Database Symfoware.
    1、The conditions of the Access 2013  crashed are the follows.
    1)Create a table in the Access 2013.
    2)Using the ODBC driver of the Database Symfoware to export the table from the access to the Database Symfoware.
    2、The Environments are the follows.
    1)Access 2013 X64(Version:15.0.4420.1017)
    2)Win2008R2 X64
    3)Symfoware V11.1 X64
    3、The Application log from the Win2008R2 are  follows.
    ログの名前:         Application
    ソース:           Application Error
    日付:            2014/04/18 16:21:06
    イベント ID:       1000
    タスクのカテゴリ:      (100)
    レベル:           エラー
    キーワード:         クラシック
    ユーザー:          N/A
    コンピューター:       WIN-29UTU2AIK6J
    説明:
    障害が発生しているアプリケーション名: MSACCESS.EXE、バージョン: 15.0.4420.1017、タイム スタンプ: 0x50674523
    障害が発生しているモジュール名: ACECORE.DLL、バージョン: 15.0.4420.1017、タイム スタンプ: 0x506742b7
    例外コード: 0xc0000005
    障害オフセット: 0x0000000000171f36
    障害が発生しているプロセス ID: 0xb6c
    障害が発生しているアプリケーションの開始時刻: 0x01cf5ad638668c5b
    障害が発生しているアプリケーション パス: C:\Program Files\Microsoft Office\Office15\MSACCESS.EXE
    障害が発生しているモジュール パス: C:\Program Files\Common Files\Microsoft Shared\OFFICE15\ACECORE.DLL
    レポート ID: 00e87957-c6ca-11e3-ad2c-0050568d2ced
    イベント XML:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="Application Error" />
        <EventID Qualifiers="0">1000</EventID>
        <Level>2</Level>
        <Task>100</Task>
        <Keywords>0x80000000000000</Keywords>
        <TimeCreated SystemTime="2014-04-18T07:21:06.000000000Z" />
        <EventRecordID>3442</EventRecordID>
        <Channel>Application</Channel>
        <Computer>WIN-29UTU2AIK6J</Computer>
        <Security />
      </System>
      <EventData>
        <Data>MSACCESS.EXE</Data>
        <Data>15.0.4420.1017</Data>
        <Data>50674523</Data>
        <Data>ACECORE.DLL</Data>
        <Data>15.0.4420.1017</Data>
        <Data>506742b7</Data>
        <Data>c0000005</Data>
        <Data>0000000000171f36</Data>
        <Data>b6c</Data>
        <Data>01cf5ad638668c5b</Data>
        <Data>C:\Program Files\Microsoft Office\Office15\MSACCESS.EXE</Data>
        <Data>C:\Program Files\Common Files\Microsoft Shared\OFFICE15\ACECORE.DLL</Data>
        <Data>00e87957-c6ca-11e3-ad2c-0050568d2ced</Data>
      </EventData>
    </Event>
    4、When the access crashed,I got the dump file .Then I use the Windbg got some information from the dump files.
         The detailes are  follows.
    FAULTING_IP: 
    +58872faf03d6dd84
    00000000`00000000 ??              ???
    EXCEPTION_RECORD:  00000000001723c0 -- (.exr 0x1723c0)
    ExceptionAddress: 000007fee3951f36 (ACECORE+0x0000000000171f36)
       ExceptionCode: c0000005 (Access violation)
      ExceptionFlags: 00000000
    NumberParameters: 2
       Parameter[0]: 0000000000000000
       Parameter[1]: 0000000000000000
    Attempt to read from address 0000000000000000
    FAULTING_THREAD:  00000000000010b8
    DEFAULT_BUCKET_ID:  WRONG_SYMBOLS
    PROCESS_NAME:  MSACCESS.EXE
    ADDITIONAL_DEBUG_TEXT:  
    Use '!findthebuild' command to search for the target build information.
    If the build information is available, run '!findthebuild -s ; .reload' to set symbol path and load symbols.
    MODULE_NAME: ACECORE
    FAULTING_MODULE: 0000000076eb0000 ntdll
    DEBUG_FLR_IMAGE_TIMESTAMP:  506742b7
    ERROR_CODE: (NTSTATUS) 0x80000003 - {
    EXCEPTION_CODE: (NTSTATUS) 0x80000003 (2147483651) - {
    MOD_LIST: <ANALYSIS/>
    CONTEXT:  0000000000171ed0 -- (.cxr 0x171ed0)
    rax=0000000001be3598 rbx=0000000000000000 rcx=01cf5d1b0f402a5c
    rdx=0000000009cfad30 rsi=0000000006688ef0 rdi=0000000001be35d0
    rip=000007fee3951f36 rsp=0000000000172490 rbp=00000000001727a0
     r8=0000000009b409d0  r9=0000000006688ef0 r10=0000000000000000
    r11=0000000000000246 r12=0000000000000000 r13=0000000001be19f0
    r14=0000000009cfad30 r15=0000000000000000
    iopl=0         nv up ei pl nz na po nc
    cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010206
    ACECORE+0x171f36:
    000007fe`e3951f36 4d3927          cmp     qword ptr [r15],r12 ds:00000000`00000000=????????????????
    Resetting default scope
    PRIMARY_PROBLEM_CLASS:  WRONG_SYMBOLS
    BUGCHECK_STR:  APPLICATION_FAULT_WRONG_SYMBOLS
    LAST_CONTROL_TRANSFER:  from 000007fee395c095 to 000007fee3951f36
    STACK_TEXT:  
    00000000`00172490 000007fe`e395c095 : ffffffff`ffffffff 00000000`00000000 00000000`01bddaa2 ffffffff`ffffffff : ACECORE+0x171f36
    00000000`001727b0 000007fe`e388f8eb : 000007fe`e399dc10 000007fe`e399dc30 000007fe`e399dc50 00000000`000000f9 : ACECORE+0x17c095
    00000000`00172b50 000007fe`e388f590 : 00000000`06688ef0 00000000`00000004 00000000`000000f9 00000000`00000000 : ACECORE+0xaf8eb
    00000000`00172ba0 000007fe`e388f406 : 00000000`00000004 00000000`000000f9 00000000`11cb1130 00000000`000000f9 : ACECORE+0xaf590
    00000000`00172c30 000007fe`e391aee7 : 00000000`00000000 00000000`00173198 00000000`06688ef0 00000000`11cb0998 : ACECORE+0xaf406
    00000000`00172c70 000007fe`e3933a72 : 00000000`00400100 00000000`00000002 00000000`00000001 00000000`06688ef0 : ACECORE+0x13aee7
    00000000`00172e50 000007fe`e384e5b1 : 00000000`00000000 00000000`11cb0020 00000000`06688ef0 00000000`00000001 : ACECORE+0x153a72
    00000000`00172e90 000007fe`e38358d1 : 00000000`000007ff 00000000`06688ef0 00000000`01bd99f0 00000000`00000000 : ACECORE+0x6e5b1
    00000000`00173280 000007fe`e38718eb : 00000000`000007ff 00000000`06688ef0 00000000`11cb0000 00000000`00000000 : ACECORE+0x558d1
    00000000`00173340 00000001`3f3b0cd2 : 00000000`0a0945c0 00000000`000000fe 00000000`000007ff 00000000`00000000 : ACECORE+0x918eb
    00000000`00173430 00000001`3f3b0b9b : 00000000`00173730 00000000`001741e0 00000000`065e5b00 00000000`00000100 : MSACCESS!CreateIExprSrvObj+0x16af32
    00000000`00173630 00000001`3f3afcea : 00000000`00173730 00000000`00000000 00000000`00000000 00000000`065e5b00 : MSACCESS!CreateIExprSrvObj+0x16adfb
    00000000`001736a0 00000001`3f983140 : 00000000`00174401 00000000`0a3235e0 00000000`0a319aa0 00000000`00179fc8 : MSACCESS!CreateIExprSrvObj+0x169f4a
    00000000`00174290 00000001`3f3aabeb : 00000000`00000000 00000000`00000000 00000000`00179f38 00000000`00000000 : MSACCESS!FUniqueIndexTableFieldEx+0x26ab4
    00000000`00174530 00000001`3f3a9670 : 00000000`001778e0 00000000`00179f38 00000000`00000031 00000000`00000000 : MSACCESS!CreateIExprSrvObj+0x164e4b
    00000000`00177870 00000001`3f3a8c1b : 00000000`00000010 00000000`108c5990 003d0044`00570050 00000000`74ac3f69 : MSACCESS!CreateIExprSrvObj+0x1638d0
    00000000`001779d0 00000001`3f5450df : 00000000`0a0945c0 00000000`0000009c 00000000`0a0945c0 00000000`00000000 : MSACCESS!CreateIExprSrvObj+0x162e7b
    00000000`00179e30 00000001`3f64e915 : 00000000`43ed8000 00000000`00000000 00000000`3f800000 00000000`00000000 : MSACCESS!FillADT+0x5830b
    00000000`0017c450 00000001`3f33b172 : 00000000`00000000 00000000`0006075e 00000000`0017e370 00000000`00000000 : MSACCESS!IdsComboFillOfActidIarg+0xaddf1
    00000000`0017d730 00000001`3f33a9ef : 00000000`0017e0a0 00000000`00000b86 00000000`00000000 00000000`0fea0000 : MSACCESS!CreateIExprSrvObj+0xf53d2
    00000000`0017d790 00000001`3f33a20c : 00000000`06620400 00000000`00000000 00000000`00000001 00000000`0017e420 : MSACCESS!CreateIExprSrvObj+0xf4c4f
    00000000`0017e400 00000001`3f6019cd : 0071023b`007a000a 00000000`00374a30 00000000`00000005 00000000`0000000c : MSACCESS!CreateIExprSrvObj+0xf446c
    00000000`0017e850 00000000`06706fd5 : e2504700`aa00ee81 00005d1b`0f2363ea 00000000`0017e9e0 00000001`3f200000 : MSACCESS!IdsComboFillOfActidIarg+0x60ea9
    00000000`0017e8f0 00000000`0a30c378 : 00000000`00000000 00000000`00000008 00000000`067069ac 00000000`00000000 : 0x6706fd5
    00000000`0017e960 00000000`00000000 : 00000000`00000008 00000000`067069ac 00000000`00000000 00000000`00000008 : 0xa30c378
    FOLLOWUP_IP: 
    ACECORE+171f36
    000007fe`e3951f36 4d3927          cmp     qword ptr [r15],r12
    SYMBOL_STACK_INDEX:  0
    SYMBOL_NAME:  ACECORE+171f36
    FOLLOWUP_NAME:  MachineOwner
    IMAGE_NAME:  ACECORE.DLL
    STACK_COMMAND:  .cxr 0x171ed0 ; kb
    BUCKET_ID:  WRONG_SYMBOLS
    FAILURE_BUCKET_ID:  WRONG_SYMBOLS_80000003_ACECORE.DLL!Unknown
    WATSON_STAGEONE_URL:  http://watson.microsoft.com/StageOne/MSACCESS_EXE/15_0_4420_1017/50674523/unknown/0_0_0_0/bbbbbbb4/80000003/00000000.htm?Retriage=1
    Followup: MachineOwner
    5、Where the access crashed I used the ODBC trace to get the trace log of the ODBC API.
         The ODBC API called by Access before it crashed are the follows.
         I also ansysised the log,and I did not find any Abnormal.
    Test            1174-10f0
    EXIT  SQLGetData  with return code 0 (SQL_SUCCESS)
    HSTMT               0x0000000009F7C490
    UWORD                      
     6 
    SWORD                      
    -8 <SQL_C_WCHAR>
    PTR                 0x00000000002C1F20 [  
       12] "LENGTH"
    SQLLEN                    62
    SQLLEN *            0x00000000002C1E38 (12)
    Test            1174-10f0
    ENTER SQLGetData 
    HSTMT               0x0000000009F7C490
    UWORD                      
    10 
    SWORD                      
    99 <SQL_C_DEFAULT>
    PTR                 <unknown type>
    SQLLEN                     4
    SQLLEN *            0x00000000002C1E38
    Test            1174-10f0
    EXIT  SQLGetData  with return code 0 (SQL_SUCCESS)
    HSTMT               0x0000000009F7C490
    UWORD                      
    10 
    SWORD                      
    99 <SQL_C_DEFAULT>
    PTR                 <unknown type>
    SQLLEN                     4
    SQLLEN *            0x00000000002C1E38 (-1)
    Test            1174-10f0
    ENTER SQLFetch 
    HSTMT               0x0000000009F7C490
    Test            1174-10f0
    EXIT  SQLFetch  with return code 100 (SQL_NO_DATA_FOUND)
    HSTMT               0x0000000009F7C490
    Test            1174-10f0
    ENTER SQLFreeStmt 
    HSTMT               0x0000000009F7C490
    UWORD                      
     0 <SQL_CLOSE>
    Test            1174-10f0
    EXIT  SQLFreeStmt  with return code 0 (SQL_SUCCESS)
    HSTMT               0x0000000009F7C490
    UWORD                      
     0 <SQL_CLOSE>
    6、I also did the test with the Access 2010,and with the Sql Srever/Oracle.
         The results are the follows.
    1) With the Access 2010(X86 or X64) and Access 2013 X86,it successes when I export the table to the DB Symfoware.But only with the Access 2013 X64,the Access crashed.
    2)With the Access 2010(X86 or X64) and Access 2013(X86 or X64),using the Sql Srever/Oracle,it always successes .
    According to all the descrived above, I wonder if it a bug of the Access2013 .
    Could anyone can help me ?
    Thanks for any help.

    George Zhao
    Thank you for your help.
    I have already install
    the latest patches of the Office 2013.But it doesn't work.It is down also too. And ODBC
    drive of Database Symfoware is the newest driver of the Database Symfoware. Now I wonder that
    if it si a bug of the  ODBC
    drive of Database Symfoware,I should fix the bug,but I have analysised the odbc trace log and I do not find any wrongs ,so I think maybe it is a bug of the Access .
    I have see many situations about the Access down on the internet .

Maybe you are looking for