Receiver side JDBC - Problem with DELETE statement

Hi,
I have a scenario where in I need to delete legacy system data every time I run the interface before inserting new rows.
I tried with stored procedure, by writing statement:
Truncate <table>.
Insert <records> into <table>.
But problem is stored procedure is called every time so when run for the second time it deletes the 1st entry before placing 2nd. This way only last record is being fetched :(.
Any suggestions?
Thanks in Advance,
Rohan.

hi rohan,
check the below blog , i think it solves your issue
JDBC Adapter execution mode Chained or Unchained
JDBC Adapter execution mode Chained or Unchained ??
reward points if helpfull
regards
kummari

Similar Messages

  • Problem with delete statement

    Hi there, I have created this code below.  The select statement works, however the delete statement does not work.
    DECLARE
    @CategoryASVARCHAR(255)
    DECLARE
    @NameASVARCHAR(255)
    DECLARE
    @Name1ASVARCHAR(255)
    DECLARE
    @ParentTypeAsint
    SET
    @Category='General
    Building Data'
    SET
    @Name='Purchase
    Date'
    SET
    @Name1='Purchase
    Cost'
    Set
    @ParentType=20
    Select
    *fromtbAttributeValueA
    Join
    tbAttributeTemplateDefinitionLinkATDLONATDL.AttributeTemplateDefinitionLinkID=A.AttributeTemplateDefinitionLinkID
    Join
    tbAttributeTemplateDefinitionATDONATD.AttributeTemplateDefinitionID=ATDL.AttributeTemplateDefinitionID
    JOIN
    tbAttributeSetSONS.AttributeSetID=ATDL.LinkedParentID
    Where
    S.ParentType=@ParentType
    AND
    S.Name=@Category
    AND
    ([email protected]=@Name1)
    AND
    A.Value=0
    delete
    fromtbAttributeValueA
    Join
    tbAttributeTemplateDefinitionLinkATDLONATDL.AttributeTemplateDefinitionLinkID=AttributeTemplateDefinitionLinkID
    Join
    tbAttributeTemplateDefinitionATDONATD.AttributeTemplateDefinitionID=ATDL.AttributeTemplateDefinitionID
    JOIN
    tbAttributeSetSONS.AttributeSetID=ATDL.LinkedParentID
    Where
    S.ParentType=@ParentType
    AND
    S.Name=@Category
    AND
    ([email protected]=@Name1)
    AND
    A.Value=0
    The delete statement fails on the first join.     Incorrect Syntax near 'A'.  What am I doing wrong?  As I have only changed the select * to delete.  So therefore does this mean I need to put the delete statement into a
    sql sub query? Or is there another way of doing this?

    Try this:
    DELETE FROM tbAttributeValue
    FROM tbAttributeTemplateDefinitionLink ATDL
    JOIN tbAttributeValue t
    ON ATDL.AttributeTemplateDefinitionLinkID = t. AttributeTemplateDefinitionLinkID
    JOIN tbAttributeTemplateDefinition ATD
    ON ATD.AttributeTemplateDefinitionID = ATDL.AttributeTemplateDefinitionID
    JOIN tbAttributeSet S
    ON S.AttributeSetID = ATDL.LinkedParentID
    WHERE S.ParentType = @ParentType
    AND S.NAME = @Category
    AND ( ATD.NAME = @Name
    OR ATD.NAME = @Name1 )
    AND A.Value = 0

  • Problem with READ Statement in the field routine of the Transformation

    Hi,
    I have problem with read statement with binary search in the field routine of the transformation.
    read statement is working well when i was checked in the debugging mode, it's not working properly for the bulk load in the background. below are the steps i have implemented in my requirement.
    1. I selected the record from the lookuo DSO into one internal table for all entried in source_packeage.
    2.i have read same internal table in the field routine for each source_package entry and i am setting the flag for that field .
    Code in the start routine
    select source accno end_dt acctp from zcam_o11
    into table it_zcam
    for all entries in source_package
    where source = source_package-source
         and accno = source_package-accno.
    if sy-subrc = 0.
    delete it_zcam where acctp <> 3.
    delete it_zcam where end_dt initial.
    sort it_zcam by surce accno.
    endif.
    field routine code:
    read table it_zcam with key source = source_package-source
                                                 accno  = source_package-accno
                                                 binary search
                                                 transportin no fields.
    if sy-subrc = 0.
    RESULT  = 'Y'.
    else.
    RESULT = 'N'.
    endif.
    this piece of code exist in the other model there its working fine.when comes to my code it's not working properly, but when i debug the transformation it's working fine for those accno.
    the problem is when i do full load the code is not working properly and populating the wrong value in the RESULT field.
    this field i am using in the report filter.
    please let me know if anybody has the soluton or reason for this strage behaviour.
    thanks,
    Rahim.

    i suppose the below is not the actual code. active table of dso would be /bic/azcam_o1100...
    1. is the key of zcam_o11 source and accno ?
    2. you need to get the sortout of if endif (see code below)
    select source accno end_dt acctp from zcam_o11
    into table it_zcam
    for all entries in source_package
    where source = source_package-source
    and accno = source_package-accno.
    if sy-subrc = 0.
    delete it_zcam where acctp 3.
    delete it_zcam where end_dt initial.
    endif.
    sort it_zcam by surce accno.
    field routine code:
    read table it_zcam with key source = source_package-source
    accno = source_package-accno
    binary search
    transportin no fields.
    if sy-subrc = 0.
    RESULT = 'Y'.
    else.
    RESULT = 'N'.
    endif.

  • Remote JDBC Problem with Oracle BPM Studio

    Hi all, i am facing the Remote JDBC Problem with Oracle BPM Studio.
    When i configure a Remote JDBC Connection for SQL in BPM Studio, it prompt me an error.
    The SQL Connection is configured as following :
    External Resource:
    Name : MyDS
    Type : SQL Database
    Supported Types : Remote JDBC
    Details:
    Database Type : BPM's Oracle Driver Version:10, 11
    J2EE : WLS
    Lookup Name : MyAppDS
    Configuration for "WLS"
    Name : WLS
    Type : J2EE Application Server
    Supported Types : GENERIC_J2EE
    Details:
    Initial Context Factory : weblogic.jndi.WLInitialContextFactory
    URL : t3://localhost:7001
    But, when i try to connect to the Database by using this configuration, I will get an Exception.
    An exception occurred while getting a resource from a connector.
    Detail:The connector [[ MyDS : SQL : REMOTE_JDBC ]] caused an exception when getting a resource.
    Caused by: An exception occurred while getting a resource from a connector.
    Detail:The connector [[ WLS : J2EE : J2EE ]] caused an exception when getting a resource.
    Caused by: javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory [[ Root exception is java.lang.ClassNotFoundException: weblogic.jndi.WLInitialContextFactory ]]
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:657)
         at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
         at javax.naming.InitialContext.init(InitialContext.java:223)
         at javax.naming.InitialContext.<init>(InitialContext.java:197)
         at fuego.jndi.FaultTolerantContext.createContext(FaultTolerantContext.java:726)
         at fuego.jndi.FaultTolerantContext.<init>(FaultTolerantContext.java:79)
         at fuego.connector.impl.GenericJ2EEConnector.createInitialContext(GenericJ2EEConnector.java:177)
         at fuego.connector.impl.GenericJ2EEConnector.createStandaloneContext(GenericJ2EEConnector.java:98)
         at fuego.connector.impl.BaseJ2EEConnector.getResource(BaseJ2EEConnector.java:92)
         at fuego.connector.impl.BaseJ2EEConnector.getResource(BaseJ2EEConnector.java:76)
         at fuego.connector.J2EEHelper.getReadOnlyContext(J2EEHelper.java:86)
         ... 12 more
    Edited by: user2262377 on Jun 22, 2009 4:01 PM

    I guess the weblogic.jar is not included in the studio.
    So, i added weblogic.jar (Weblogic 10.3) and wlclient.jar (Weblogic 10.3)
    It is working in my simple java code. But, still not working in BPM Studio.
    The error logs:
    An exception occurred while getting a resource from a connector.
    Detail:The connector [OFT_APP_DS:SQL:REMOTE_JDBC] caused an exception when getting a resource.
    Caused by: java.lang.Object cannot be cast to java.io.Serializable
    fuego.connector.ConnectorException: An exception occurred while getting a resource from a connector.
    Detail:The connector [OFT_APP_DS:SQL:REMOTE_JDBC] caused an exception when getting a resource.
         at fuego.connector.ConnectorException.exceptionOnGetResource(ConnectorException.java:88)
         at fuego.connector.JDBCHelper.getReadOnlyConnection(JDBCHelper.java:93)
         at fuego.sqlintrospector.BrowserPanel.connect(BrowserPanel.java:395)
         at fuego.sqlintrospector.BrowserPanel.populateTree(BrowserPanel.java:200)
         at fuego.ui.wizards.ui.CheckTreeBrowser$1.construct(CheckTreeBrowser.java:63)
         at fuego.ui.SwingWorker$2.run(SwingWorker.java:39)
         at java.lang.Thread.run(Thread.java:619)
    Caused by: java.lang.ClassCastException: java.lang.Object cannot be cast to java.io.Serializable
         at weblogic.iiop.IIOPOutputStream.writeAny(IIOPOutputStream.java:1588)
         at weblogic.iiop.IIOPOutputStream.writeObject(IIOPOutputStream.java:2231)
         at weblogic.utils.io.ObjectStreamClass.writeFields(ObjectStreamClass.java:413)
         at weblogic.corba.utils.ValueHandlerImpl.writeValueData(ValueHandlerImpl.java:235)
         at weblogic.corba.utils.ValueHandlerImpl.writeValueData(ValueHandlerImpl.java:225)
         at weblogic.corba.utils.ValueHandlerImpl.writeValue(ValueHandlerImpl.java:182)
         at weblogic.iiop.IIOPOutputStream.write_value(IIOPOutputStream.java:1963)
         at weblogic.iiop.IIOPOutputStream.write_value(IIOPOutputStream.java:2001)
         at weblogic.iiop.IIOPOutputStream.writeObject(IIOPOutputStream.java:2266)
         at weblogic.jdbc.common.internal.RmiDataSource_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:589)
         at weblogic.rmi.cluster.ClusterableServerRef.invoke(ClusterableServerRef.java:230)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:477)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:473)
         at weblogic.rmi.internal.wls.WLSExecuteRequest.run(WLSExecuteRequest.java:118)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

  • I how problems with delete/ fix alias

    I how problems with delete/fix alias. Somehow, I am trying to delete or fix alias by clicking the icon it show a pop-up saying to click "delete alias" or "fix alias." When I click "delete alias", it wouldn't let me. When I click "fix alias" I could not find what I am looking for. I try clicking different icon, but is show a pop-up saying "it could not be found (error code-43). Can someone help out????

    Moved to InDesign forum.
    You can start by telling us what the problem is.

  • 140063685933 this is the receipt no Apart of two purchase there all rest I never received was a problem with the system they couldn't be download and naw you are charging me  Haw unprofessional is that and more than an hour can't find how to get to custom

    140063685933 this is the receipt no
    Apart of two purchase there all rest I never received was a problem with the system they couldn't be download and naw you are charging me
    Haw unprofessional is that and more than an hour can't find how to get to customer service to correct the mistake
    Just so fed up will never ever pitches anything waiting of time and money  

    Apple is not here. Apple does not answer questions here. There are only volunteer users here.
    The charge to your credit card takes place before you download the app.
    If you are having problems downloading the apps that you bought, you will need to explain the issue in detail if you wish someone to help you.

  • Have a problem with deletting a folder that has lots over 100+ folders in it that are locked, please help

    Have a problem with deletting a folder that has 100+'s folders in it that are locked. Please help.

    Put the folder into the trash - go to the Finder menu and hold down the alt key whilst selecting Empty Trash.
    I've never tried this with a folder full of locked files, but it certainly works with a single locked file.
    Hope that helps!

  • Problems with Callable Statement

    Hi All,
    I have a problem with the callable statement that contains stored procedure.Here main thing i want to know is that can a stored procedure can be used for a database like Access.Because i am using Access as a database here.In which i have created the table Students.
    The table Students contains 3 fields they are name,amount & balance.
    The program is compiling well but during the runtime it is showing an error:-
    "Syntax error in Create Table" .
    For ur reference i have posted the code:-
    import java.io.*;
    import java.sql.*;
    public class CallStatDemo
    public static void main(String arg[])
    Connection con;
    CallableStatement cs;
    Driver dr;
    String str1,str2;
    int in1,in2;
    double d1;
    try
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    con=DriverManager.getConnection("jdbc:odbc:Ananth"); //the dsn name is Ananth
    init(con);
    if(con==null)
    System.out.println("Connection not Established");
    else
    cs=con.prepareCall("{call Payment(?,?)}");
    cs.setString(1,"Raman"); //name
    cs.setString(2,"2000"); //amount
    cs.execute();
    catch(Exception e)
    System.out.println("Error Message : "+e);
    static void init(Connection con)
    throws SQLException
    Statement stmt = con.createStatement();
    stmt.execute ("create or replace procedure Payment(name in text,amount in text)is " +
    " begin"+
    " update Students set balance=balance-amount where name =name;"+
    "end Payment;");
    stmt.close();
    Thanx,
    m.ananthu

    I have no clue if Access supports stored procedures, and this surely isn't related to JDBC at all. Did you check your Access documentation?
    Your posted code does not contain any CREATE TABLE statement, so where do you get your error (which line)
    Most probably Access does not support stored procedures. To verify that, you should execute your CREATE PROCEDURE statement from within Access, to verify that it is a supported statement.

  • Performance problem with MERGE statement

    Version : 11.1.0.7.0
    I have an insert statement like following which is taking less than 2 secs to complete and inserts around 4000 rows:
    INSERT INTO sch.tab1
              (c1,c2,c3)
    SELECT c1,c2,c3
       FROM sch1.tab1@dblink
      WHERE c1 IN (SELECT c1 FROM sch1.tab2@dblink);I wanted to change it to a MERGE statement just to avoid duplicate data. I changed it to following :
    MERGE INTO sch.tab1 t1
    USING (SELECT c1,c2,c3
       FROM sch1.tab1@dblink
      WHERE c1 IN (SELECT c1 FROM sch1.tab2@dblink) t2
    ON (t1.c1 = t2.c1)
    WHEN NOT MATCHED THEN
    INSERT (t1.c1,t1.c2,t1.c3)
    VALUES (t2.c1,t2.c2,t2.c3);The MERGE statement is taking more than 2 mins (and I stopped the execution after that). I removed the WHERE clause subquery inside the subquery of the USING section and it executed in 1 sec.
    If I execute the same select statement with the WHERE clause outside the MERGE statement, it takes just 1 sec to return the data.
    Is there any known issue with MERGE statement while implementing using above scenario?

    riedelme wrote:
    Are your join columns indexed?
    Yes, the join columns are indexed.
    You are doing a remote query inside the merge; remote queries can slow things down. Do you have to select all thr rows from the remote table? What if you copied them locally using a materialized view?Yes, I agree that remote queries will slow things down. But the same is not happening while select, insert and pl/sql. It happens only when we are using MERGE. I have to test what happens if we use a subquery refering to a local table or materialized view. Even if it works, I think there is still a problem with MERGE in case of remote subqueries (atleast till I test local queries). I wish some one can test similar scenarios so that we can know whether it is a genuine problem or some specific problem from my side.
    >
    BTW, I haven't had great luck with MERGE either :(. Last time I tried to use it I found it faster to use a loop with insert/update logic.
    Edited by: riedelme on Jul 28, 2009 12:12 PM:) I used the same to overcome this situation. I think MERGE needs to be still improved functionally from Oracle side. I personally feel that it is one of the robust features to grace SQL or PL/SQL.

  • Problems with Deleting Confirmati​on Messages on a 8830 device

    I am new to this forum but have a technical issue on a blackberry 8830 device with deleting confirmation messages.
    Scenario:
    User is replying to users with a confirmation of message read reciept from the blackberry.  It copies the reciept in both his exchange account and his blackberry device.  He can delete the confirmation of the reciept as usual but here lies the problem when he deletes it on either the blackberry or the exchange account side it won't reconcile it even though the reconcile is setup for both handheld and wireless and wireless email reconcile is turned on.  He also has the desktop manager software running on his pc and its still not correcting it.
    The BES server is on release 4.0.6.12 with a Microsoft 2000 Exchange Server (I'm thinking this is my issue but don't have any supporting evidence to support it).
    Can someone please provide some insight as to what the problem might be in this scenario.

    Thanks so much for answering! It looks like that cleared up the problem

  • Problem with Dead States

    I am having a problem making dead states with my buttons. The
    way i have it set up I cannot just delete each button code from the
    frame where it's at. It's not working that way..Below I have
    attached pictures of the code in each frame the order the pictures
    are in are the order they are in the timeline in
    <a href="
    http://www.iankemp.com/images/indexmx3testt.swf">SWF
    File Here</a>
    http://www.iankemp.com/images/Picture1.png
    http://www.iankemp.com/images/Picture2.png
    http://www.iankemp.com/images/Picture3.png
    http://www.iankemp.com/images/Picture4.png
    http://www.iankemp.com/images/Picture5.png
    http://www.iankemp.com/images/Picture6.png
    http://www.iankemp.com/images/Picture7.png

    Please post in the DPS foum.
    http://forums.adobe.com/community/dps
    Bob

  • Problem with delete index of cube in process chain

    HI ,i have a problem with my process chain,here on process name as delet index is ther which has been turned to red.when iam going inside of that in Display message iam getting the msg as"Indexes for InfoCube SMS_C06 have been deleted successfully".
    since the process is in red next process is not been triggering,but i have to continue the process chain.
    can anybody put some light into it.its very urgent........

    Hi,
    I ran into the same situation with one of my process chain that is part of a metachain. The process chain has the Delete Index that turned red. But the messages show that the indexes on all the cubes were deleted sucessfully.
    As suggested, I did a repeat on the delete index variant, but no luck as it turned red again.
    Anyone aware familiar with this issue?
    Thanks,
    Briston

  • Problem with import statement for user created classe

    I recently downloaded J2sdk1.4.0_03 before that I had jdk1.3 and never had this problem.All the files other than named package I import for my
    application does not compile.But when I commented that out it work just fine.
    any help is appreciated

    thanks
    It makes sense not to import non-packaged class.
    My other problem is with JDBC ODBC.I have a Dell system with Windows XP.
    I registered my User Data Source to ODBC with MS Text driver(.txt , csv).When the code reaches at the .executeUpdate(CREAT TABLE CUSTOMERS)
    it throws an exception
    sQLException 3:java.sql.SQLException: [Microsoft][ODBC Text Driver] Cannot modify the design of table 'CUSTOMERS'. It is in a read-only database.
    Do I really need to change the attribues or some thing else.
    How can I chane the attributes of the database.Never had problem with windows 98.

  • Problem with PIVOT statement and ORA-56901

    Hi,
    I am having a problem with PIVOT in Oracle.
    I have a view in an oracle 11g database
    that returns me data in the format:- (... indicates left out text)
    DefinitionID ... AttributeValue FieldID
    ============ ============== =======
    ... 3000 X30a9...
    ... JohnN X4674...
    I am then trying to use a PIVOT statement to hopefully give me data
    in the format
    COLUMN1 COLUMN2
    ======= =======
    JohnN 3000
    The PIVOT statement I am trying is
    SELECT X4674... AS Column1,
    X30A9... AS COLUMN2
    FROM (SELECT instanceid, definitionid, attributevalue, FIELDID
    FROM PI_ENTITY_INSTANCE_VIEW) up PIVOT (MAX(ATTRIBUTEVALUE)
    FOR FIELDID IN (X4674...,X30A9... ) )
    where definitionid = hextoraw('7353C67A56C74B5A8234CD16064399E8')
    I have used a very similar VIEW and PIVOT statement for sql server
    (with necessary changes for Oracle applied) and the
    data returns in SQL Server as expected.
    Unfortunately I am getting the Oracle error
    ORA-56901: non-constant expression is not allowed for pivot|unpivot values
    Is there anyway to get a PIVOT working on Oracle where I use the
    fieldid's like I do above or is there some other way to supply the vales to the
    IN clause to overcome this error?
    Thank you for any help you can provide
    John Nugent

    Hi, John,
    Welcome to the forum!
    X4674, X30A9 and os on are the literal values that you're looking for, right?
    In Oracle, string literals need to be enclosed in single-quotes, like this:
    FOR FIELDID IN ('X4674', 'X30A9') You might find it more convenient to assign column aliases in the PIVOT clause, like this:
    PIVOT   (     MAX (attributevalue)
         FOR     fieldid       IN ( 'X4674'     AS column1
                        , 'X30A9'     AS column2
         ) Remember that anything inside quotes is case-sensitive, so 'X30A9' is not equal to 'X30a9'. Use UPPER (or LOWER) to do case-insensitive string comparisons.
    I hope this answers your question.
    If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for all tables, and also post the results you want from that data.
    Explain, using specific examples, how you get those results from that data.
    If you can use commonly available tables (such as those in the scott or hr schemas) to show your problem, then you don't have to post any sample data; just the results and explanation.
    Always say which version of Oracle you're using. You did say you were using Oracle 11g, but there's no 11f or 11h, and sometimes the difference between, say 11.1 and 11.2 can be significant. Why not say exactly what you're using, e.g. 11.1.0.7.0?
    You'll get better answers faster if you always supply this information whenever you post a question.
    Edited by: Frank Kulash on Sep 22, 2011 2:09 PM
    Added allliterative alias alternative
    Edited by: Frank Kulash on Sep 22, 2011 4:04 PM

  • Emergency: problem with update statement!

    hello guys, i have a very serious problem with an update statement in pl/sql.
    i had an application written in sybase, where i had the following update statement:
    update mis_dik_adeia
    set trexon_etos_days = days_per_year
    from mis_dik_adeia, mis_plafon_adeivn
    where mis_dik_adeia.adeia_id = mis_plafon_adeivn.adeia_id
    and mis_dik_adeia.adeia_id between :aapo and :aews
    and mis_dik_adeia.employee_id = :erg
    and mis_dik_adeia.etos = :etos
    and mis_plafon_adeivn.years_yphr = ( select max( a.years_yphr ) from mis_plafon_adeivn a where a.adeia_id = mis_plafon_adeivn.adeia_id and a.years_yphr <= :eth ) using sqlca;
    This is working properly in sybase. When i copied this code in pl/sql it displayed me error and it's impossible to work. Then i thought to make a nested select statement like this:
    update mis_dik_adeia
    set trexon_etos_days = (select days_per_year
    from mis_dik_adeia, mis_plafon_adeivn
    where mis_dik_adeia.adeia_id = mis_plafon_adeivn.adeia_id
    and mis_dik_adeia.adeia_id between aapo and aews
    and mis_dik_adeia.employee_id = erg
    and mis_dik_adeia.etos = etos1
    and mis_plafon_adeivn.years_yphr = (
    select max( a.years_yphr )
    from mis_plafon_adeivn a
    where a.adeia_id = mis_plafon_adeivn.adeia_id
    and a.years_yphr <= eth )
    but as you can understand, it is working, but it doesn't produce the same results as the update statement in Sybase!
    It is very important for me to solve this problem , which is a very big trouble for me for a long time.
    Please if anyone can help me i would appreciate it a lot!
    Regards ,
    Bill...

    Bill,
    folowing the logic of your original query by Sybase
    (it's embedded SQL in Power Builder, isn't it ?):
    update mis_dik_adeia
    set trexon_etos_days = (select days_per_year
    from mis_plafon_adeivn
    where mis_dik_adeia.adeia_id = mis_plafon_adeivn.adeia_id
    and mis_plafon_adeivn.years_yphr = (
    select max( a.years_yphr )
    from mis_plafon_adeivn a
    where a.adeia_id = mis_plafon_adeivn.adeia_id
    and a.years_yphr <= eth )
    where
    mis_dik_adeia.adeia_id between aapo and aews
    and mis_dik_adeia.employee_id = erg
    and mis_dik_adeia.etos = etos1
    and
    exists (select 1
    from mis_plafon_adeivn
    where mis_dik_adeia.adeia_id = mis_plafon_adeivn.adeia_id
    and mis_plafon_adeivn.years_yphr = (
    select max( a.years_yphr )
    from mis_plafon_adeivn a
    where a.adeia_id = mis_plafon_adeivn.adeia_id
    and a.years_yphr <= eth )
    In 9i you can also try the following:
    megre into mis_dik_adeia
    using (
    select
    days_per_year,
    mis_dik_adeia.rowid rid
    from mis_dik_adeia, mis_plafon_adeivn
    where mis_dik_adeia.adeia_id = mis_plafon_adeivn.adeia_id
    mis_dik_adeia.adeia_id between aapo and aews
    and mis_dik_adeia.employee_id = erg
    and mis_dik_adeia.etos = etos1
    and mis_plafon_adeivn.years_yphr =
    (select max( a.years_yphr )
    from mis_plafon_adeivn a
    where a.adeia_id = mis_plafon_adeivn.adeia_id
    and a.years_yphr <= eth)
    ) src
    on (mis_dik_adeia.rowid = src.rid)
    when matched then
    update set mis_dik_adeia.trexon_etos_days = src.days_per_year
    when not matched then
    insert (mis_dik_adeia.adeia_id) values(0);
    In 10G it can be easily:
    megre into mis_dik_adeia
    using (
    select
    days_per_year,
    mis_dik_adeia.rowid rid
    from mis_dik_adeia, mis_plafon_adeivn
    where mis_dik_adeia.adeia_id = mis_plafon_adeivn.adeia_id
    mis_dik_adeia.adeia_id between aapo and aews
    and mis_dik_adeia.employee_id = erg
    and mis_dik_adeia.etos = etos1
    and mis_plafon_adeivn.years_yphr =
    (select max( a.years_yphr )
    from mis_plafon_adeivn a
    where a.adeia_id = mis_plafon_adeivn.adeia_id
    and a.years_yphr <= eth)
    ) src
    on (mis_dik_adeia.rowid = src.rid)
    when matched then
    update set mis_dik_adeia.trexon_etos_days = src.days_per_year;
    I have to notice I didn't check it carefully, so I can miss...
    Rgds.
    Corrected a mistake in the table name
    Message was edited by:
    dnikiforov

Maybe you are looking for