"ORA-01403: no data found" after deleting a row

hi all.
i created a report with a form using a wizard. so i think it's very strange when i delete a row it gives me the error
ORA-01403: no data found
but i did everything with the wizard assistant! is that a bug???
thanks for help!
j0sh

i just tried it again, very clean:
created new workspace, new application, new report with form. again the same. now i even can't access this page anymore after relogging in!!
@ sergio:
the report and the form page is the same one. i'm using my own installation. i installed version 10g that i downloaded from oracle.com .
where do i get the release number from? is it maybe 1.5.0.00.33 ?
thanks.
josh

Similar Messages

  • AFTER INSERT TIGGER, ora-01403: no data found error

    Hi all,
    I'm trying to create a fairly simple trigger which fires after an insert on a table.
    The trigger is based on a function, defined within a package. The function is as follows...
    FUNCTION check_contract_length (V_playerId IN NUMBER)
    RETURN BOOLEAN
    IS
    months NUMBER;
    months2 NUMBER;
    BEGIN
    SELECT months_between(contract_end, contract_start), contract_length
    INTO months, months2
    FROM player
    WHERE playerId = v_playerId;
    IF months <> months2 THEN
    RETURN (true);
    END IF;
    RETURN (false);
    END check_contract_length;The trigger operates when an insert is made on to the player table, it as defined as follows...
    CREATE OR REPLACE TRIGGER play_ins_con
    AFTER INSERT ON player
    FOR EACH ROW
    DECLARE
    isover BOOLEAN;
    BEGIN
    IF INSERTING THEN
    isover := player_constr_pkg.check_contract_length(:new.playerId);
    IF isover THEN
    RAISE_APPLICATION_ERROR(-30001, 'Contract length incorrect');
    END IF;
    END IF;
    END play_ins_con;My problem is, is that every time I try to insert a row into the player table, the trigger fires and produces a "ora-01403: no data found" error. I was under the impression that as the trigger fires after an insert, this shouldn't be a problem.
    I'm also aware that this constraint can probably be implemented using a CHECK constraint, however it would be a learning curve for me to work it out this way.
    Any help would be much appreciated!!
    Cheers guys.

    I'm also aware that this constraint can probably be implemented using a CHECK constraint,
    however it would be a learning curve for me to work it out this way.Starting out by doing stuff the wrong way only increases the learning curve when it comes to doing things the right way. A check constraint is definitely the best way of doing it. However, if you must do it with a trigger this is the way to go:
    CREATE OR REPLACE TRIGGER play_ins_con BEFORE INSERT ON player
    FOR EACH ROW
    BEGIN
        IF months_between(:NEW.contract_end, :NEW.contract_start) <> :NEW.contract_length
        THEN
            RAISE_APPLICATION_ERROR(-30001, 'Contract length incorrect');
        END IF;
    END play_ins_con;
    /Incidentally, as CONTRACT_LENGTH is wholly derivable from the other columns your table structure is obviously insufficiently normalised.
    Also, note that only errors between -20999 and -20000 are reserved for our use. Any other number may be used by Oracle for its own purposes.
    Cheers, APC

  • ORA-01403: no data found  -  refresh after insert on view

    Hi all,
    I have problems with refresh after insert on view and i override this method on my xxDefImpl.java
    public boolean isUseReturningClause() {
    return false;
    Anyway what it does is to substitute the RETURNIN INTO to
    SELECT ID INTO ? FROM MY_VIEW WHERE ID=?; END;".
    And this gives me the error
    ORA-01403: no data found ORA-06512: at line 1
    Because i'm tryint to insert on my view with ID = -1
    And then the view and the my triggers make it happen to became a real ID.
    The thing is that i need to refresh my ID after insert and it runs this select with -1 and it finds no data of course because the trigger on the view and on my tables transformed it in a real ID .
    DO u know what's missing?

    See section 26.5 Basing an Entity Object on a Join View or Remote DBLink in the ADF Developer's Guide for Forms/4GL Developers for the additional tip I believe you're missing about marking a unique attribute as well.
    You can find the guide on the ADF Learning Center on OTN here:
    http://www.oracle.com/technology/products/adf/learnadf.html

  • OCI Error ORA-01403: no data found in oracle goldengate replication after tts instaniation

    I recently migrated our tg core system from sun solaris(11.1.0.7) to linux (11.2.0.3) environment using goldengate method (transportable tablespace method used for instantiation).
    The initial replication worked with HANDLECOLLISIONS and after I monitor the lag finished, I took Handlecollisions off and noticed discarded report with OCI Error ORA-01403: no data found in two replications.
    I followed every step in the tts migration steps provided by oracle best practice.
    Can anybody provide any clue how do I fix this issue?
    Thank you in advance.

    extract and replicat are on schema level.
    DO I have to do anything for replication on schema level?
    Basic trandata logging enabled on source.

  • ORA-01403 NO DATA FOUND ERROR AFTER SELECTING PORTAL LINK TO CALL FORM

    I have a portal application link that I use to call a form. The field on this
    form gets populated based on a bind variable that is passed in by the link.
    This was working 2 weeks ago but now when I click on the link to call the form
    I am receiving the following error "AN UNEXPECTED ERROR OCCURRED ORA-01403 - NO
    DATA FOUND". This happens in more than one application where I set this type
    of link to call a form. Anyone have any ideas?!!

    Hi Andy,
    Thank you very much for your time!
    The fields in the form are all right. The fields get filled in perfectly in most of the cases, only those few rows don't :(
    However, now that you wrote of the process of row fetching, I think that maybe I have an idea of what is happening. My table has two primary keys (two fields together make the primary key, I don't know how it's called in English), one of them is a date. (I know that this is quite a bad practice, but, much to my regret, I cannot change it.) Now, this date is in YY-MON-DD format, which is used by my language.
    One of this dates is from 1800's. As my report shows it, the year gets truncated to the last two character. APEX passes this value into the field of the form using varchar2, and when it tries to cast it back to YY-MON-DD format, then it supposes it's from 1900's instead of 1800's. With 19xx however it doesn't find my field.
    Does this sound logical? It seems logical to me, but I am a beginner... :(
    Still, if this is the core of the problem, it's most possibly not the only problem, because I have dates from 19xx which can't identify their rows... But I am suspicious because of these date things. If you have any idea then please let me know.
    Thanks,
    Eszter

  • Misterious "ORA-01403: no data found" error

    Hi,
    I've been searching through the forum and the Internet with no results, so I'm posting here hoping you can help me.
    Here is the situation: I had a page 30 with a tree branching to a form on a view.This worked fine until one day that suddenly, we got the "ORA-01403: no data found" error when loading the page. I guess that's normal, since the form shows the data filtered in the tree (in the tree we click on an element and pass its ROWID to the form), and when we load the page no ROWID is selected. So, the first question would be, how can I manage this situation? My first option was to have a condition in the Automatic Fetch for the Form, so that it's executed only when the ROWID item is not null. It worked a couple of times. After a while, it crashed again.
    Tired of trying things, we decided to copy this page 30 to another page (page #80). Surprisingly, page #80 worked meanwhile #30 crashed. And they are completely the same, the data has not changed either.
    Could it be that page #30 somehow is corrupted? It's really strange that the same exact copy of the page works with one ID but not with another one.
    Has someone experienced this situation? it makes me feel like the app is unsecure and unstable. Any ideas, please?
    Apex version: 4.1.1 on APEX listener.
    Thanks,
    Elena.

    fac586 wrote:
    Elena.mtc wrote:
    Thanks for your response. The form is a single row (a form on a table or view). Here is what I've found out thanks to your tips:
    It affects to all the three users that I have access with.Try it with a new user that has never accessed the page before.
    I used the debug mode (new to me, so I'm kind of slow on this, still) and wrote an exception message on the Automatic Fetch Row and I managed to know the ROWID that the fetch process is using in the where clause. Of course this ROWID does not exist in the table, so the first question that comes to my mind is "how come and from where is the page getting this ROWID?". I don't know and can't comment because I can't see the app. ;-)
    If the ROWID is stored in an item, check the Maintain session state property isn't set to Per User.I changed this and seemed to work. But it crashed later. I made a computation process to set to null the rowid's when loading the page. After reset, I deleted the computations (due to application functionality) and it worked. However, I do not trust this page anymore. So we created a new fresh app and copied this page. Luckily we are on development environment :)
    >
    So, I made a computation to initialize to null the item that saves the ROWID, and now it worked.
    This page that I'm testing on is #30, but the valid page is #80 (it has changes made on the look and feel of the page). So, I deleted page #30, and copied page #80 (which works perfectly) into #30. And it crashes again (obvius, since it doesn't have the computation that gives null to the rowid item). What's "interesting" is that I still see the exception message I wrote in the older version of page #30. So, it seems that some values need to be purged and that the delete is not clean, but how? I'm not entirely clear on what you've been doing there, but it does indeed all sound rather odd.
    I suspect that you wouldn't be able to reproduce this problem on apex.oracle.com. However, it would probably be helpful if you could upload the app and provide developer credentials to the workspace so we could see how it works and if there's anything obvious (or not) that might cause this problem.Unluckily I cannot do this. Thank you anyway for the help, it's hard to explain when something so weird happens.
    Thanks!
    Elena.

  • Update conflict resoltion ORA-01403: no data found

    I have set up multimaster replication environment with two database and I have implemented Update conflict resolution on a table using DISCARD method(Oracle provided) as below.
    Some how it is not able to resolve the conflict and I am getting erro ORA-01403: no data found.
    On MDS(M1) I run the follwing SQL
    update menu_code
    set ipp_uid = 20
    where id = 4;
    commit;
    on master(M2) database in table menu_code row with ID=4 doesn't exsit.
    When I apply deffred transaction that gnerated by above SQL
    I get ORA-01403: no data found and ofcourse trnsaction doesn't apply to db and goes to deferror. Since I am using DISCARD method
    it should be resolved and not to gnerate error message.
    Here is detail info.
    Table name: menu_code
    --creating column group
    BEGIN
    DBMS_REPCAT.MAKE_COLUMN_GROUP (
    sname => 'SYNAPSE',
    oname => 'MENU_CODE',
    column_group => 'MENU_CODE_CG1',
    list_of_column_names => 'id,ipp_uid');
    END;
    -- adding update conflict resolution
    BEGIN
    DBMS_REPCAT.ADD_UPDATE_RESOLUTION (
    sname => 'SYNAPSE',
    oname => 'MENU_CODE',
    column_group => 'MENU_CODE_CG1',
    sequence_no => 1,
    method => 'DISCARD',
    parameter_column_name => 'id,ipp_uid');
    END;
    --regenerating support for the table.
    BEGIN
    DBMS_REPCAT.GENERATE_REPLICATION_SUPPORT (
    sname => 'SYNAPSE',
    oname => 'MENU_CODE',
    type => 'TABLE',
    min_communication => TRUE);
    END;
    Thanks.
    Pravin

    You are absolutely right. Now we decided not to write any conflict resolution routine at all.
    Non MDS database is read-only till fail over. After fail over non MDS (other master) will allow insert/update operation.
    To fail back to MDS we will write our procedure/function, out side of Oracle conflict resolution( both database will be in Read only mode during synchronizing).
    We will delete all deferred transaction/error form the queue and once data transfer is complete, again MDS becomes primary database to use.
    Oracle conflict resolutions are to complicated and has lots of overhead and maintenance.
    Thanks.
    Pravin

  • How to resolve "ORA-01403: no data found"

    When i attempt to delete from a table on which an after delete trigger is defined, i get exception as follows;
    OracleException was unhadled by user code:
    ORA-01403: no data found
    ORA-06512: at "...TRIGGER_KATILIMEKLE", line11
    ORA-04088: error during the execution of trigger '...TRIGGER_KATILIMEKLE'
    Here is my trigger:
    Note: Before i added block -ELSIF DELETING THEN- it was working fine, yet now it throws that exception somehow. Since i am not new to oracle, i just couldn't figure out. Thanks...
    CREATE OR REPLACE TRIGGER TRIGGER_KATILIMEKLE AFTER INSERT OR DELETE ON IHALE_KATILINANIHALEDETAY
    REFERENCING NEW AS newRow
    FOR EACH ROW
    DECLARE
    srktkodu number;
    ihlkodu number;
    BEGIN
    IF INSERTING THEN
    select t2.srktkodu, t2.ihlkodu into srktkodu,ihlkodu from ihale_katilinanihale t2 where t2.detaykod=:newRow.detaykod;
    INSERT INTO ihale_katilimcilar t (t.aktif, t.SRKTKODU,t.ihlkodu,t.ihlaltktgkodu) VALUES('0', srktkodu, ihlkodu, :newRow.IHLALTKTGKODU);
    ELSIF DELETING THEN
    select t2.srktkodu, t2.ihlkodu into srktkodu,ihlkodu from ihale_katilinanihale t2 where t2.detaykod=:newRow.detaykod;
    DELETE FROM ihale_katilimcilar t WHERE t.srktkodu=srktkodu and t.ihlkodu=ihlkodu and t.ihlaltktgkodu=:newRow.IHLALTKTGKODU;
    END IF;
    END TRIGGER_KATILIMEKLE;
    Message was edited by:
    user611878

    REFERENCING NEW AS newRow
    ELSIF DELETING THEN
    ...=:newRow.detaykod;Please read about [url
    http://download.oracle.com/docs/cd/B10501_01/appdev.92
    0/a96590/adg13trg.htm#590]Accessing Column Values in
    Row Triggers in the manual.Thanks a lot.
    Using REFERENCING NEW AS newRow and OLD AS oldRow and ...=:oldRow.detaykod; I handled it, however it just doesn't assign other parameters in delete query, thus it deletes only when t.ihlaltktgkodu=:oldRow.IHLALTKTGKODU; in the delete query and ,gnore the rest.
    Although i assign the values of the parameters -srktkodu,ihlkodu- and make an successfull insert in the insert query, i just cannot in the delete. Why?
    Right here :
    select t2.srktkodu, t2.ihlkodu into srktkodu,ihlkodu from ihale_katilinanihale t2 where t2.detaykod=:oldRow.detaykod;
    DELETE FROM ihale_katilimcilar t WHERE t.srktkodu=srktkodu and t.ihlkodu=ihlkodu and t.ihlaltktgkodu=:oldRow.IHLALTKTGKODU;

  • Exception occured during invocation of JCA binding ORA-01403: no data found ORA-06512: at line 1

    Dear Legends,
    My requirement is to call store procedure from BPEL. So for I created a BPEL with 2 assign activity and 1 Invoke activity to Invoke the DB adapter. After Deploying I tested the process but it shows the following error:
    <bpelFault><faultType>0</faultType><bindingFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>Exception occured when binding was invoked.
    Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'DB_SBL_SPROCS1' failed due to: Interaction processing error.
    Error while processing the execution of the SIEBEL.PORTAL_SPROCS.ACP_CONREGISTRATIONLOOKUP_WRAP API interaction.
    An error occurred while processing the interaction for invoking the SIEBEL.PORTAL_SPROCS.ACP_CONREGISTRATIONLOOKUP_WRAP API. Cause: java.sql.SQLException: ORA-01403: no data found
    ORA-06512: at line 1
    Check to ensure that the XML containing parameter data matches the parameter definitions in the XSD.  This exception is considered not retriable, likely due to a modelling mistake.  To classify it as retriable instead add property nonRetriableErrorCodes with value "-1403" to your deployment descriptor (i.e. weblogic-ra.xml).  To auto retry a retriable fault set these composite.xml properties for this invoke: jca.retry.interval, jca.retry.count, and jca.retry.backoff.  All properties are integers.
    The invoked JCA adapter raised a resource exception.
    Please examine the above error message carefully to determine a resolution.
    </summary></part><part name="detail"><detail>ORA-01403: no data found
    ORA-06512: at line 1
    </detail></part><part name="code"><code>1403</code></part></bindingFault></bpelFault></fault><faultType>
    <message>0</message></faultType></messages></details></event><event sid="BpPrc0.1" cat="2" n="16" date="2013-08-08T05:39:39.121-04:00" type="4"><message>"BPELFault" has not been caught by a catch block.</message></event><event sid="BpPrc0.1" cat="2" n="17" date="2013-08-08T05:39:39.270-04:00" type="3"><message>The transaction was rolled back. The work performed for bpel instance "960968" was rolled back, but the audit trail has been saved for this instance.If this is a sync request, please resubmit the request from the client. If it is an async request, please recover from the recovery console by resubmitting the invoke message.</message></event></audit-trail>
    What does the above error says?
    1. Whether concern Grant or Execute Privileges is not properly provided to the user?
    2. Is there any Dangling Privileges are prevailing?
    3. Is that the Store Procedure to be Handled with an Error Handling by means of Exception?
    4. Is that I have been giving wrong test data?
    5. Is that No data being existing in the Procedure?
    6. Is that anything related to XA and NON-XA Data Source?
    Any kind of help would be much appreciated. Thanks in Advance.
    Thanks,
    Karthik

    Can you check the following ?
    a. Hopefully the when you execute the procedure using sql tool it works fine and returns data.
    b. Is there any input parameter available for procedure ?
    c. IF yes, is the parameter is mapped with the procedure parameter and populated with value before calling the procedure ?
    d. In the audit trial, you can see from the invoke activity to see whether the parameter is populated with value or not ?
    e. Check the input parameter by executing the procedure with sql tool to see whether this request is receiving any data in return or not ?
    Thanks,
    Vijay

  • Deferred transaction fails due to a "ORA-01403: no data found" error

    I recently acticated replication between two Oracle instances.
    (one being the master definition site and the other one being
    a second master site).
    Everything was going well until two weeks ago, when i realized
    that some datas were different between the two Oracle instances.
    I tried to figure out why and found that some deferred transation
    failed to propagate due to a "ORA-01403: no data found" error.
    Not all transaction fail, only a few.
    All the errors are stored in the DEFERROR table of the second
    master site, the DEFERROR table is empty in the master definition
    site.
    For every error, the source is the master definition site and the
    destination is the second master site, which is OK because the
    second master site is supposed to be "read-only". But why are the
    errors stored in the DEFERROR table of the second master site
    (and not in the master definition site (the source)).
    Most errors occur on UPDATE statements but a few of them occur
    on DELETE statements. Given the fact that the record actually is
    in the second master site, how is it possible to get a
    "ORA-01403: no data found" error on a delete statement ???????
    I can't figure out what data cannot be found,
    Thanks for your help,
    Didier.

    What if i tell you the first transaction in error is an UPDATE
    statement on a record that actually is in the destination table
    in the second master site. So the data is there, it should be
    found ...
    I've tried an EXECUTE_ERROR on that very first transaction
    in error but it doesn't work. Here's the call (as repadmin) :
    begin
    DBMS_DEFER_SYS.EXECUTE_ERROR (
    DEFERRED_TRAN_ID => '6.42.271',
    DESTINATION => 'AMELIPI.SENAT.FR'
    end ;
    And here's the full message :
    ORA-01403: no data found
    ORA-06512: at "SYS.DBMS_DEFER_SYS_PART1" line 430
    ORA-06512: at "SYS.DBMS_DEFER_SYS" line 1632
    ORA-06512: at "SYS.DBMS_DEFER_SYS" line 1678
    ORA-06512: at line 2
    I thought it could be because the primary key constraint on the
    destination table wasn't activated but it was. Could it
    be a problem with the corresponding index ?
    Thanks for your help,
    Didier.

  • ORA-01403: no data found in alert.log

    Dear All,
    I am getting ORA-01403: no data found in alert.log.Could you pls help me out what could be reasons behind it..Due to this i m getting loads of alerts.Pls suggest.
    Thanks

    ORA-01403 No Data Found
    Typically, an ORA-01403 error occurs when an apply process tries to update an existing row and the OLD_VALUES in the row LCR do not match the current values at the destination database.
    Typically, one of the following conditions causes this error:
    Supplemental logging is not specified for columns that require supplemental logging at the source database. In this case, LCRs from the source database might not contain values for key columns. You can use a DML handler to modify the LCR so that it contains the necessary supplemental data. See "Using a DML Handler to Correct Error Transactions". Also, specify the necessary supplemental logging at the source database to prevent future errors.
    There is a problem with the primary key in the table for which an LCR is applying a change. In this case, make sure the primary key is enabled by querying the DBA_CONSTRAINTS data dictionary view. If no primary key exists for the table, or if the target table has a different primary key than the source table, then specify substitute key columns using the SET_KEY_COLUMNS procedure in the DBMS_APPLY_ADM package. You also might encounter error ORA-23416 if a table being applied does not have a primary key. After you make these changes, you can reexecute the error transaction.
    The transaction being applied depends on another transaction which has not yet executed. For example, if a transaction tries to update an employee with an employee_id of 300, but the row for this employee has not yet been inserted into the employees table, then the update fails. In this case, execute the transaction on which the error transaction depends. Then, reexecute the error transaction.
    There is a data mismatch between a row LCR and the table for which the LCR is applying a change. Make sure row data in the table at the destination database matches the row data in the LCR. When you are checking for differences in the data, if there are any DATE columns in the shared table, then make sure your query shows the hours, minutes, and seconds. If there is a mismatch, then you can use a DML handler to modify an LCR so that it matches the table. See "Using a DML Handler to Correct Error Transactions".
    Alternatively, you can update the current values in the row so that the row LCR can be applied successfully. If changes to the row are captured by a capture process at the destination database, then you probably do not want to replicate this manual change to destination databases. In this case, complete the following steps:
    Set a tag in the session that corrects the row. Make sure you set the tag to a value that prevents the manual change from being replicated. For example, the tag can prevent the change from being captured by a capture process.
    EXEC DBMS_STREAMS.SET_TAG(tag => HEXTORAW('17'));
    In some environments, you might need to set the tag to a different value.
    Update the row in the table so that the data matches the old values in the LCR.
    Reexecute the error or reexecute all errors. To reexecute an error, run the EXECUTE_ERROR procedure in the DBMS_APPLY_ADM package, and specify the transaction identifier for the transaction that caused the error. For example:
    EXEC DBMS_APPLY_ADM.EXECUTE_ERROR(local_transaction_id => '5.4.312');
    Or, execute all errors for the apply process by running the EXECUTE_ALL_ERRORS procedure:
    EXEC DBMS_APPLY_ADM.EXECUTE_ALL_ERRORS(apply_name => 'APPLY');
    If you are going to make other changes in the current session that you want to replicate destination databases, then reset the tag for the session to an appropriate value, as in the following example:
    EXEC DBMS_STREAMS.SET_TAG(tag => NULL);
    In some environments, you might need to set the tag to a value other than NULL.

  • ORA-01403: no data found (WWV-16016) error

    I have a very simple form with two fields. This form is opened in the update mode through a report which pass a parameter to the form. When I press 'Delete' button to delet the record, I get this error message:
    Error: An unexpected error occurred: ORA-01403: no data found (WWV-16016)
    But the record is actually deleted by this action.
    Does anyone know why and how to fix it?
    Thanks!

    I have the same problem when i call form based on procedure in insert mode. However, i can insert one record normally, when i try to insert another one, this error appears.
    This behavior is really extremly annoying and i would really like to know why this error apprears and how to get rid of it.
    Kind regards,
    Damjan
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by sz():
    I have a very simple form with two fields. This form is opened in the update mode through a report which pass a parameter to the form. When I press 'Delete' button to delet the record, I get this error message:
    Error: An unexpected error occurred: ORA-01403: no data found (WWV-16016)
    But the record is actually deleted by this action.
    Does anyone know why and how to fix it?
    Thanks!<HR></BLOCKQUOTE>
    null

  • ORA-01403: no data found   when displaying a value from an   array

    I have a very simple pl/sql procedure like below which gives an error
    SQL> exec p_ks2;
    BEGIN p_ks2; END;
    ERROR at line 1:
    ORA-01403: no data found
    ORA-06512: at "KINASE.P_KS2", line 21
    ORA-06512: at line 1
    if i uncomment the for loop the procedure works ... the loop has nothing to do with my array or what i am doing after it..
    could anyone help me to understand why i need a loop like that or what i am doing wrong when i am not having the loop there.
    ---- procedure
    CREATE OR REPLACE
    PROCEDURE p_ks2 as
    TYPE mdata IS TABLE OF number INDEX BY BINARY_INTEGER;
    data1 mdata;
    k integer;
    m number;
    begin
    data1(1) := 10;
    data1(2) := 20;
    data1(3) := 30;
    data1(4) := 40;
    data1(5) := 50;
    k :=3;
    --for mm in 10..11
    --loop
    -- m := mm;
    --end loop;
    dbms_output.put_line('value of data(' || k || '): ' || data1(k));
    end;
    /

    here is what i am trying.. when i do not have the for loop it fails. when I have the for loop it works eventhough for loop is really not doing anything related to my array.
    and in 10.x both works without error.
    I noticed you have the for loop uncommented when you posted the screen. Did it work when you have commented those lines out?
    SQL> select * from v$version
    2 ;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
    PL/SQL Release 11.1.0.6.0 - Production
    CORE 11.1.0.6.0 Production
    TNS for Linux: Version 11.1.0.6.0 - Production
    NLSRTL Version 11.1.0.6.0 - Production
    SQL> CREATE OR REPLACE
    2 PROCEDURE p_ks2 as
    3
    4 TYPE mdata IS TABLE OF number INDEX BY BINARY_INTEGER;
    5 data1 mdata;
    6 k integer;
    7 m number;
    8
    9 begin
    10 data1(1) := 10;
    11 data1(2) := 20;
    12 data1(3) := 30;
    13 data1(4) := 40;
    14 data1(5) := 50;
    15
    16 k :=3;
    17 --for mm in 10..11
    18 --loop
    19 -- m := mm;
    20 --end loop;
    21
    22 dbms_output.put_line('value of data(' || k || '): ' || data1(k));
    23
    24
    25 end;
    26 /
    Procedure created.
    SQL>
    SQL> exec p_ks2;
    BEGIN p_ks2; END;
    ERROR at line 1:
    ORA-01403: no data found
    ORA-06512: at "KINASE.P_KS2", line 21
    ORA-06512: at line 1
    SQL>
    SQL> CREATE OR REPLACE
    2 PROCEDURE p_ks2 as
    3
    4 TYPE mdata IS TABLE OF number INDEX BY BINARY_INTEGER;
    5 data1 mdata;
    6 k integer;
    7 m number;
    8
    9 begin
    10 data1(1) := 10;
    11 data1(2) := 20;
    12 data1(3) := 30;
    13 data1(4) := 40;
    14 data1(5) := 50;
    15
    16 k :=3;
    17 for mm in 10..11
    18 loop
    19 m := mm;
    20 end loop;
    21
    22 dbms_output.put_line('value of data(' || k || '): ' || data1(k));
    23
    24
    25 end;
    26 /
    Procedure created.
    SQL> exec p_ks2;
    value of data(3): 30
    PL/SQL procedure successfully completed.
    SQL>

  • Error ORA-01403: no data found is not raised using jdbc

    Hy there I have a problem receiving exceptions from oracle jdbc driver.
    I have the following exception stack if i call insert on a view
    using an instead of trigger.
    ORA-01403: no data found
    ORA-04088: error during execution of trigger
    'MYUSER.MY_VIEW_INSERT'
    if I do the insert by sql worksheet.
    If I do same insert using the following driver
    dbDriver = new intersolv.jdbc.sequelink.SequeLinkDriver();
    I will receive this exception:
    java.sql.SQLException: [INTERSOLV][SequeLink JDBC Driver][ORACLE]ORA-01403: Keine Daten gefunden
    Now if I do same thing using oracle driver:
    dbDriver = new oracle.jdbc.driver.OracleDriver();
    there will no exception be raised!
    here is my code:
    public class myFrame extends Frame
    public static void main( String[] args )
    Frame myFrame = new Frame();
    DbPflege dbPanel = new DbPflege();
    Driver dbDriver = null;
    String connectString = null;
    try
    if( args.length != 0 )
    System.out.println( "main: use sequelink!" );
    connectString = "jdbc:sequelink://myServer:4003/[Oracle]";
    dbDriver = new intersolv.jdbc.sequelink.SequeLinkDriver();
    else
    System.out.println( "main: use oracle!" );
    connectString = "jdbc:oracle:thin:@myServer:1521:idb";
    dbDriver = new oracle.jdbc.driver.OracleDriver();
    DriverManager.registerDriver( dbDriver );
    dbPanel.con = DriverManager.getConnection(connectString, "user", "pwd" );
    catch( Exception ex )
    System.out.println( "main: ERROR: " + ex );
    ex.printStackTrace();
    void jBtnExecute_actionPerformed(java.awt.event.ActionEvent event)
    Statement stmt = null;
    int updateCount = -1;
    int colCount = -1;
    ResultSet rs = null;
    ResultSetMetaData rsMeta = null;
    try
    stmt = con.createStatement();
    stmt.execute( textAreaInput.getText() );
    catch( Exception ex )
    textAreaOutput.append( ex.toString() );
    thanks for your help!!!!

    Hi,
    You should run you query in sql workshop with the expected values (which are set after user clicks Save or Apply changes button) for P10_CR_BOM_CODE and P10_CR_ID.
    Also, please have an exception block in the process to catch any exception and make an appropriate Insert into some user defined error-log table. It would be better to log the P10_CR_BOM_CODE and P10_CR_ID values in case of exception.
    These might help you to figure out the cause of exception.
    Regards,
    Mangal

  • Error 'ORA-01403 no data found', if a procedure called through $Universe

    Hello,
    we use at our customer the scheduling software $Universe. The problem follows is happend at calling PL/SQL-procedures within SQL*Plus:
    Within the calling procedur another subprogram will be called. This program crashed on select of currval with the error 'ORA-01403 no data found'. This error happens only, if the procedure called through $Universe. If the procedure called directly from SQL*Plus or about a unix shell-script, no error happens.
    About the command "select saddr,sid,serial# from sys.V_$SESSION where
    username ='xxx';" we select the Session_ID's. These are identically before and after call of the procedure!
    Do you have an idea, how the problem can be?
    Next information about OS, releases, settings of Oracle-Session-Parameters, and the crashing procedure:
    SQL*Plus: Release 8.1.6.0.0 - Production on Fri Mar 15 13:25:05 2002
    (c) Copyright 1999 Oracle Corporation. All rights reserved.
    Connected to:
    Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production
    With the Partitioning option
    JServer Release 8.1.6.0.0 - Production
    OS: HP-UX11
    ORACLE-Server NLS-parameters on HP-UX:
    NLS_LANGUAGE               AMERICAN
    NLS_TERRITORY               AMERICA
    NLS_CURRENCY               $
    NLS_ISO_CURRENCY          AMERICA
    NLS_NUMERIC_CHARACTERS          .,
    NLS_CALENDAR               GREGORIAN
    NLS_DATE_FORMAT               DD-MON-RR
    NLS_DATE_LANGUAGE          AMERICAN
    NLS_CHARACTERSET          WE8DEC
    NLS_SORT               BINARY
    NLS_TIME_FORMAT               HH.MI.SSXFF AM
    NLS_TIMESTAMP_FORMAT          DD-MON-RR HH.MI.SSXFF AM
    NLS_TIME_TZ_FORMAT          HH.MI.SSXFF AM TZH:TZM
    NLS_TIMESTAMP_TZ_FORMAT          DD-MON-RR HH.MI.SSXFF AM TZH:T
    NLS_DUAL_CURRENCY          $
    NLS_NCHAR_CHARACTERSET          WE8DEC
    NLS_COMP               BINARY
    Windows-desktop NLS-parameters:
    ALTER SESSION set NLS_LANGUAGE = 'GERMAN';
    ALTER SESSION set NLS_TERRITORY = 'GERMANY';
    ALTER SESSION set NLS_ISO_CURRENCY = 'GERMANY';
    ALTER SESSION set NLS_NUMERIC_CHARACTERS = ',.';
    ALTER SESSION set NLS_CALENDAR = 'GREGORIAN';
    ALTER SESSION set NLS_DATE_FORMAT = 'DD/MM/YY';
    ALTER SESSION set NLS_DATE_LANGUAGE = 'GERMAN';
    ALTER SESSION set NLS_SORT = 'GERMAN';
    ALTER SESSION set NLS_TIME_FORMAT = 'HH24:MI:SSXFF';
    ALTER SESSION set NLS_TIMESTAMP_FORMAT = 'DD.MM.RR HH24:MI:SSXFF';
    ALTER SESSION set NLS_TIME_TZ_FORMAT = 'HH24:MI:SSXFF TZH:TZM';
    ALTER SESSION set NLS_TIMESTAMP_TZ_FORMAT = 'DD.MM.RR HH24:MI:SSXFF
    TZH:TZM';
    ALTER SESSION set NLS_DUAL_CURRENCY = '?';
    ALTER SESSION set NLS_COMP = 'BINARY';
    PROCEDURE PROC_NEW_ID (p_value IN NUMBER,
    p_field IN VARCHAR2,
    p_table IN VARCHAR2,
    p_currval OUT NUMBER)
    IS
    v_stmt VARCHAR2(200);
    v_currval NUMBER;
    BEGIN
    -- Bildung des SQL-Statements.
    v_stmt := 'INSERT INTO '||p_table|| '('|| p_field || ') VALUES
    ('||p_value||')';
    -- Ausfuehren des SQL-Statements.
    EXECUTE IMMEDIATE v_stmt;
    COMMIT;
    -- Bildung des SQL-Statements.
    v_stmt := 'SELECT SEQ_'|| p_table || '.CURRVAL FROM DUAL';
    -- Ausfuehren des SQL-Statements.
    EXECUTE IMMEDIATE v_stmt INTO v_currval;
    -- Wertrueckgabe
    p_currval := NVL(v_currval,0);
    EXCEPTION
    WHEN OTHERS THEN
    pkg_mira_protokoll.proc_write_error_fwd
    (pkg_mira_consts.act_error,
    SQLCODE,
    SQLERRM(SQLCODE),
    'PROC_NEW_ID');
    p_currval := 0;
    RAISE;
    END;
    Thanks for your request!
    Best regards
    Esser Office Consulting KG
    J|rgen Esser

    This forum is for posting feedback about the OTN site.
    The best place for your question is probably a Portal forum.
    There is a list of Portal forums here:
    http://forums.oracle.com/forums/index.jsp?cat=13

Maybe you are looking for