Execution of procedure error: ORA-06550 and PLS-00103

Hi, I created the stored procedure as,

CREATE OR REPLACE PACKAGE BODY APPS.TMP_IMPORT_ITEMS_PKG AS


  PROCEDURE LOAD_INTERFACE_TABLE(organization_code IN VARCHAR2, errbuf OUT VARCHAR2, retcode OUT NUMBER) IS


  org_code varchar2(3);


  BEGIN


    org_code:= organization_code;


    DBMS_OUTPUT.PUT_LINE('Organization Code is...' || org_code);


  END LOAD_TABLE;


END TMP_IMPORT_ITEMS_PKG;
And here is the code I am trying to run:
DECLARE


  V_ERRBUF VARCHAR2(1000);


  V_RETCODE NUMBER;


BEGIN


  EXEC TMP_IMPORT_ITEMS_PKG.LOAD_INTERFACE_TABLE('x1', V_ERRBUF, V_RETCODE);


END;
When I run the above code, I get the following error:


ORA-06550: line 5, column 10:
PLS-00103: encountered the symbol "TMP_IMPORT_ITEMS_PKG" during the expected in the following way:


:= . ( @ % ;
The symbol ': = ' was replaced by 'TMP_IMPORT_ITEMS_PKG' continue.

Can any body tell me what is the problem with the above code
Thanks in advance,
Kumar K

Published by: user2054206 on December 17, 2008 21:09

Published by: user2054206 on December 17, 2008 21:27

Hello

In PL/SQL, you cannot call the procedure like exec... in sql, you can call exec but in PL/SQL, you can call as follows.

DECLARE
V_ERRBUF VARCHAR2 (1000);
NUMBER OF V_RETCODE;
BEGIN
TMP_IMPORT_ITEMS_PKG. LOAD_INTERFACE_TABLE ('x 1', V_ERRBUF, V_RETCODE);
END;

I hope this works.

Tags: Database

Similar Questions

  • ORA-06550 and PLS-00201 in PL/SQL Developer

    Hi all



    I am facing the following error when I try to display the DDL from a table using pl/sql developer.

    (right click on the table and then DBMS_Metadata-> DDL)
    ORA-06550: line 7, column 5:
    PLS-00201: identifier 'SYS.DBMS_LOB' must be declared
    ORA-06550: line 7, column 5:
    PL/SQL: Statement ignored
    ORA-06550: line 12, column 3:
    PLS-00201: identifier 'SYS.DBMS_LOB' must be declared
    ORA-06550: line 12, column 3:
    PL/SQL: Statement ignored
    ORA-06550: line 13, column 3:
    PLS-00201: identifier 'SYS.DBMS_LOB' must be declared
    ORA-06550: line 13, column 3:
    PL/SQL: Statement ignored
    Please suggest me what to do?


    concerning
    Kkukreja

    Hello

    Maybe that's a problem with your user privileges.

    try to give a privilege

    GRANT EXECUTE ON SYS. DBMS_LOB TO

    see you soon

    VT

  • my user is confronted with this error ORA-3135 AND ORA-3114

    Hi friends,

    One of my users get the error ORA-3135 and ORA-3114 for gigantic through data loading.
    But it can charge less amount of data successfully.

    Huge data download takes more than one and half hour.

    I asked the user to add EXPIRE_TIME = 10 in his machine sqlnet.ora file. Then too, it is the problem.

    Please someone help to solve this problem. Thanks in advance

    I assume that your assumption is that CR is responsible for the error?

    This could be the case, but if it is then by setting the SQLNET. EXPIRE_TIME on the client won't have any effect, it must be defined on the database server.

  • ADR 3.0.1 install ORDS_PUBLIC_USER of error: ORA-06550, PLS-00103

    Try the Advanced installation of new ADR in a clean PDB 12 c (12.1.0.1) installation.

    If someone had the same problem and a work around?

    Error at startup to the line: 48 in command.

    Start

    run immediately "create user ORDS_PUBLIC_USER identified by ' ^ PUB_PWD ' account unlock default tablespace ^ temporary tablespace PUB_DATATBS ^ PUB_TEMPTBS';"

    end;

    Error report-

    ORA-06550: Line 2, column 23:

    PLS-00103: Fand das symbol "create user ORDS_PUBLIC_USER identified by 'mySecretPwd' als eines der following works wurde:

    (- + new case mod not null < an ID >)

    < between double quote delimited identifiers of > < a variable binding >

    continue the current avg County are min max sql stddev prior

    variance of the sum run forall fusion timestamp interval

    Date < a literal string with the specified set of characters >

    < a > < a SQL string between single quotes > hose

    < ein alternativ in Anfuhrungszeichen geset

    force_print

    It seems to be related to the change here:

    https://community.Oracle.com/thread/3731913

    Finally the installation of ADR is running. However still not showing apex, but which appear to be a different problem.

    Here is my solution to overcome the problem of creation of ORDS_PUBLIC_USER.

    The problem was that they changed it to use execute_immediate. However, lexical surrogates have ' included.

    Gives problems when adding to the string of immediate execution. And also problems for the password in quotation marks.

    In the ords.war file to find the ords_create_rest_users.sql and replace the relevant parts marked with blue lines.

    ...

    set PUB_PWD = ^ 1

    set PUB_DATATBS = ' ^ 2'

    set PUB_TEMPTBS = ' ^ 3'

    ALTER session set current_schema = SYS;

    -Remove user REST if exists

    ...

    -Create user ORDS_PUBLIC_USER and unlock the account

    create user ORDS_PUBLIC_USER identified by ' ^ PUB_PWD ' account unlock default tablespace ^ temporary tablespace PUB_DATATBS ^ PUB_TEMPTBS;

    ...

  • java.sql.SQLException: ORA-06550 and ORA-00900 call stored procedures

    Hi all

    I have 2 a stored procedures that I want to call from my Session bean. One of them takes a few settings, but not the other. When I call the procedures, I get the following errors described below. I tested the two stored procedures in sql plus and sqldveleoper and they work well. The funniest, it is, I have another stored procedure that I can call successfully from the same bean in session with no problems, so I'm a bit confused as to why his play now.

    I use stand-alone 10.1.3.4 OC4J and Oracle 10 g Db 10.2.0.4 and platform DB that I use is Oracle10gPlatform and Eclipselink as my JPA provider. I have also tried against toplink (not toplink essentials) and still no joy

    Here is the error I get when I try and call the procedure which takes the parameters of the session bean
    Internal Exception: java.sql.SQLException: ORA-06550: line 1, column 7:
    PLS-00306: wrong number or types of arguments in call to 'HASHDATA'
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    
    Error Code: 6550
    Call: BEGIN HashData(input=>?, hashedValue=>?, hashed=>?); END;
         bind => [password1, => hashedValue, => hashed]
    Query: DataReadQuery()
    Here are my stored procedure that take parameters
    create or replace procedure hashData(input IN VARCHAR2, hashedValue OUT BLOB, hashed OUT BOOLEAN)  as  
    
    inputRaw RAW(2000);
    --hashed BOOLEAN := false;
    begin 
    
    dbms_output.put_line('the data to be hashed is '||input);
    
    dbms_output.put_line('converting input to raw ...');
    inputRaw := utl_i18n.string_to_raw(input,'AL32UTF8');
    
    dbms_output.put_line('Hashing Data ...');
    hashedValue := DBMS_CRYPTO.Hash (src=>inputRaw,typ=>DBMS_CRYPTO.HASH_SH1);
    
    dbms_output.put_line('hash is '||UTL_I18N.raw_to_char(dbms_lob.substr(hashedValue, 4000,1)));
    
    if (hashedValue  is not null) then 
     
    
     hashed :=true;
      dbms_output.put_line('hashedValue IS NOT  null');
     else
     hashed := false;
      dbms_output.put_line('hashedValue IS null');
     end if;
    
    end;
    Here is my code in the session bean to call the procedure that takes as parameters (Hashdata)

    public UserBean() {
              // TODO Auto-generated constructor stub
    
              sessMan = SessionManager.getManager();
              session = sessMan.getSession("Session", Thread.currentThread()
                        .getContextClassLoader());
    
         }
    
    public Serializable hashData(String input){
    
              logger.debug("Hashing Data ... "); 
              hashedValue= null; 
              boolean hashed=false; 
         
              StoredProcedureCall call = new StoredProcedureCall();
    
              ValueReadQuery query = new ValueReadQuery();
              call.setProcedureName("HashData");
              call.addNamedArgumentValue("input", input);
              call.addNamedOutputArgument("hashedValue", "hashedValue", java.sql.Blob.class);
              call.addNamedOutputArgument("hashed", "hashed", java.lang.Integer.class);
                        
              query.addArgument("input");
              
              query.setCall(call);
              
              session.executeQuery(query);
               
              if ((Boolean)hashed){
                   logger.debug("The data has been hashed and the hash value is: "+hashedValue);
              }
              
              else{
                   logger.debug("The data has could not be hashed");
                   hashedValue=null;
              }
              
              return (Serializable)hashedValue;
              }
    When I call the other takes no parameters, I get the following error.
    Internal Exception: java.sql.SQLException: ORA-00900: invalid SQL statement
    
    Error Code: 900
    Call: BEGIN testJPAProc(); END;
    Query: DataReadQuery()
    Here is the procedure which takes no parameters
    create or replace procedure testJPAProc is 
     
     begin
     dbms_output.put_line('testJPAProc called');
     end;
    Heres is the code to call procedures that take no parameters
                                    StoredProcedureCall call = new StoredProcedureCall();
      
              ValueReadQuery query = new ValueReadQuery();
              
              call.setProcedureName("testJPAProc");
              query.setCall(call);
              
              session.executeQuery(query);
    You guys can tell me where I'm wrong if I do something wrong. Why make these mistakes? because as far as I can tell the code (java and pl/sql) are both correct unless there is something I missed. It's kinda funny because I have another stored procedure I can call successfully.


    Thank you

    The first question is that the Boolean in Oracle is not a supported JDBC type, but a PLSQL type.
    Change to an INTEGER is probably the best, you can also use the PLSQLStoredProcedureCall class to access.

    The second problem is perhaps that the stored procedure is not valid, make sure that it compiled correctly. It can also be the type of your query, you must use a DataModifyQuery, not a read request that it returns nothing.
    If still no luck, try to call directly through JDBC, it works?

    ---
    James: http://www.eclipselink.org: http://en.wikibooks.org/wiki/Java_Persistence

  • Error: * ORA-06550:

    Hello

    I create a Sql report and using this CODE


    with bills like)
    SELECT p.PARTY_NAME, p.MOB1_NO, sum (nvl(b.TOTAL_AMOUNT,0)) bill_amount
    PARTY_DETAILS p, BILL_DETAILS b
    where p.PARTY_NAME = b.PARTY_NAME (+)
    P.PARTY_NAME group, p.MOB1_NO
    ),
    payments)
    Select p.PARTY_NAME, sum (nvl (pd. TOTAL_AMOUNT, 0)) paid_amount
    PARTY_DETAILS p, pd of the PARTY_PAYMENT_DETAILS
    where p.PARTY_NAME = DB. PARTY_NAME (+)
    P.PARTY_NAME group
    )
    Select b.party_name, b.mob1_no, BILL_AMOUNT, PAID_AMOUNT, balance_amount BILL_AMOUNT-PAID_AMOUNT
    invoices, payments p b
    where b.PARTY_NAME = p.PARTY_NAME


    This code, the Code is Correct, I ran this code into the SQL command.

    But when I apply it to a region of the Page SQL Report then it shows me error

    1 error has occurred

    * ORA-06550: line 18, column 2: PL/SQL: ORA-00933: command not properly ended SQL ORA-06550: line 3, column 1: PL/SQL: SQL statement ignored ORA-06550: line 19, column 21: PLS-00103: encountered the symbol "end-of-file" when awaits one of the following numbers: (begin case declare exit end exception for goto rise back loop mod null pragma select update while with)


    How can I remove this error.
  • Collecting Table statistics get error ORA-20001 and ORA-06512 on 11g

    Hi Forum!

    I'm trying to collect statistics on a DB 11.2.0.1 for Siebel application.
    The script that generates the statistical errors out and I don't know why. So I tried to interview sys.dba_tab_statistics manually, but the event, and then I got an error message:

    Select * from sys.dba_tab_statistics


    ORA-20001: BIN$ PV5XQQHLSAYJ0KPMEY1MHG == $0 is an invalid identifier
    ORA-06512: in "SYS-DBMS_STATS", line 2082
    ORA-06512: in "SYS-DBMS_STATS", line 2098
    ORA-06512: in "SYS-DBMS_STATS", line 26789


    Any ideas?

    Edited by: Penky October 10, 2011 14:51

    Penky wrote:
    Note that I have not even the error when you make a right selection * of dba_tab_statistics which I think should work fine, no?

    It is that:

    select * from dba_tab_statistics
    

    or

    select * from sys.dba_tab_statistics
    

    It is unusual for a view error SYS, unless it is a specific bug in this version of the database, but I wonder if there are other patterns, such as SYS who have something in their basket (not that anyone should have to be create or drop things in SYS)?

  • Get the error ora-06550: line 1, column 28 met the symbol «;»

    The code is:

    create or replace procedure while (empid number, varchar2 lname) is
    Meter number;
    fact number;
    Start
    Select max (department_id) in terms of employees where employee_id = empid;
    All counter < = loop 3
    insert into employees (department_id, last_name, employee_id) values ((did+counter), empid, lname);
    counter: = counter + 1;
    end loop;
    end;
    /

    I think I got it. You named the procedure WHILE. And althouh everything IN is not a reserved word, but a key word, I'd stay away from that name. What is your version complete:

    Select * from version of v$.

    SY.

  • As I corrected the error?  ORA-06550-PLS-00357

    * {color: #0000ff} good morning *.

    * I'm trying to generate a file extension. txt,
    extracting information from a table named test, and I generated the
    Suite error ORA-06550: - and - PLS-00357: {color} *.


    CREATE TABLE ENSAYO
    (
    NUMBER OF CODE,
    DATE DATE default sysdate,
    NUMBER VARCHAR2 (40)
    )
    ;



    Insert of ensayo values(1,'12-12-2009','rey');
    Insert of ensayo values(2,'10-02-2009','luna');
    Insert of ensayo values(3,'16-03-2009','paola');
    Insert of ensayo values(4,'16-03-2009','Natalia');



    Set serverout
    DECLARE
    utl_file.file_type v1.
    v2 varchar2 (100);
    Start
    v1: = utl_file.fopen ('PUBLIC_ACCESS', 'prueb': to_char (sysdate, 'yyyymmdd') |'. txt', 'w');

    loop

    UTL_FILE.put_line (v1, Ensayo.Codigo);

    end loop;
    UTL_FILE.fclose (v1);
    exception
    while others then
    dbms_output.put_line (SQLERRM);
    end;
    /
    * {color: #ff0000} *.
    UTL_FILE.put_line (v1, Ensayo.Codigo);
    ***
    * {color} {color: #ff0000} ERROR en l & Yacute; NEA 7: *.
    ORA-06550: l & Yacute; NEA 7, column 32: *.
    PLS-00357: the referencia has the tabla, vista o sequence "ENSAYO. CÓDIGO ' no EST & szlig;. *
    permitida en este contexto
    ORA-06550: l & Yacute; NEA 7, column 4:
    * PL/SQL: statement ignored {color} *.





    * {color: #0000ff} that I correct the error? *

    * Thank you for your cooperation... *.
    * good day... *.
    * {color} *.


    * {color: #0000ff} *.
    * {color} *.


    * {color: #0000ff} Reynel Martinez Salazar. {color} *.

    You must use FOR cursor LOOP:

    DECLARE
    v1 utl_file.file_type;
    v2 varchar2 (100);
    begin
    v1:= utl_file.fopen('PUBLIC_ACCESS','prueb'||to_char(sysdate,'yyyymmdd')||'.txt','w');
    for rec in (select codigo from ensayo) loop
    utl_file.put_line(v1,rec.codigo);
    end loop;
    utl_file.fclose(v1);
    exception
    when others then
    dbms_output.put_line(sqlerrm);
    end;
    /
    
    PL/SQL procedure successfully completed.
    
    SQL> 
    

    SY.

  • ORA-06550-PLS-00302 error on execution mapping

    I have a mapping in OWB 11.2.0.3, I can bend and validate.
    But if I like him to run it it fails with the following error:
    ORA-06550: line 1, column 1487: PLS-00302: component 'MAPPING_NAME' must be declared ORA-06550: line 1, column 1470: PL/SQL: statement ignored

    I've already found a post that said: grant run owner_name. "' name map ' to user_name;
    In my case it does solve the problem.

    Someone at - it an idea of what the problem might be?


    Thanks for any help,

    Benjamin

    We have the same problem on OWB 11.2.0.3 and resolved to rename a schema name, because it was the same thing to another database object. If this is your case, you can change the name of the database schema and the location on OWB.
    We hope this help you.

    To view the possible duplicate objects (drawing object):

    SELECT *.
    FROM DBA_OBJECTS
    WHERE OBJECT_NAME = '';

    On the Oracle document is much better explained:

    [http://docs.oracle.com/cd/E11882_01/relnotes.112/e24470/toc.htm]

    Oracle® Warehouse Builder Release Notes
    * 11g Release 2 (11.2) part number E24470-05 *.

    [...]

    7.14 existence of an object in the schema with the same name as the schema target in the database
    12776878: If an object exists in the schema with the same name as the schema target in the database, an error is displayed.

    For example:

    Named A schema has an object called q. schema named Q exists and has an object called Z.
    When you call from SchemaQ.ObjectZ to a scheme A, it looks in schema A Q.Z. Z is not found and displays the following error:

    ORA-06550:... : PLS-00302: component 'XYZ' must be declared
    Workaround: rename one of the objects Q to R or one letter other than Q.

    [...]

  • Oracle 11g {ORA-06550, PLS-00905}

    Hi all
    I am new to Oracle and I am trying to execute the procedure, but I get the error ORA-06550, PLS-00905
    Here is the procedure:
    create or replace PROCEDURE add_job
    (p_jobid IN jobs.empno%TYPE,
    p_jobtitle IN jobs.job%TYPE)
    IS
    BEGIN
    INSERT INTO scott.jobs (empno, job) VALUES (p_jobid, p_jobtitle);
    END add_job;
    /
    I type the following command to run the proc:
    Start
    add_job (6000, "ANALYST");
    end;

    Can anyone suggest something to remedy?
    Thanks in advance.

    Edited by: 994323 16/03/2013 15:37

    So mark your ANSWER question and provide your Oracle version 4-digit and use.

     tags next time you post.                                                                                                                                                                                                                                    
    
  • ORA-06550 PLS-00382: expression is of the wrong type

    Please help me with the following script:

    declare
    cursor c1 is
    Select prod_country_id
    of prod_country
    where eccnum = "NOCLASS-SG" and ccode = 'SG ';
    New_data_type TYPE IS TABLE C1% ROWTYPE;
    new_data_tab new_data_type;
    Start
    Open c1;
    loop
    collect fetch c1 into bulk
    in new_data_tab limit 500000;
    OUTPUT WHEN c1% NOTFOUND;
    ForAll i in 1... new_data_tab. Count
    Update prod_country
    Set eccnum = "NOCLASS".
    where prod_country_id = new_data_tab (i);
    end loop;
    Close c1;
    commit;
    end;

    Gives following error:

    ORA-06550: line 17, column 32:
    PLS-00382: expression is of the wrong type


    Please help immediately.
    Need to update block.

    Thanks in advance

    user13759851 wrote:
    Just change my query and now its execution without the previous error:

    So what? It is always wrong.

    The correct way using just SQL to perform the update - which is the most effective and scalable way. And much faster.

    As for your code? Everything is fake.

    You read the update lines. Without locking of these lines. And these same lines are changed in the code. This is false.

    Then you agree inside the loop. This is false.

    You now get a cursor (where the lines are not locked) and changes of committng to these same lines. It is a violation of the standard ANSI SQL - get everywhere is committed. You consume more resources Oracle doing this. If this process crashes - and there is an excellent chance that Oracle will not provide a coherent reading/snapshot while the data are changed and committed - you what? A process that has changed some data and no other data. We ask that the corruption of data. A total lack of data integrity.

    You set the limit to a ridiculous 500000. This is false.

    It's not faster than with a 1000 limit. But she will consume 500 times more memory. And not just any memory. The more expensive server memory that a process of PL/SQL can consume - PGA.

    You have provided a perfect example of How not to Code for Oracle+.

    Now trash. You never forget retry such an erroneous approach. Use a single SQL UPDATE statement. And then a COMMIT.

  • ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments

    Hi all
    Here is the error:
    ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments
    The following code generates the error:
    create or replace PROCEDURE AMENDNUMBER_UPDATE
    (
    SHIP_NUMBER IN VARCHAR2,
    AMEND_NO ON SYS_REFCURSOR)
    AS
    BEGIN
    UPDATE CSPS_SHIPMENT_INFO_TL
    SET AMENDMENT_NO =
    (SELECT AMENDMENT_NO + 1
    OF CSPS_SHIPMENT_INFO_TL
    WHERE SHIPMENT_NUMBER = SHIP_NUMBER
    )
    WHERE SHIPMENT_NUMBER = SHIP_NUMBER;

    AMEND_NO OPEN FOR SELECT AMENDMENT_NO FROM CSPS_SHIPMENT_INFO_TL WHERE SHIPMENT_NUMBER = SHIP_NUMBER;

    -VALIDATION;
    END AMENDNUMBER_UPDATE;

    now when I try to run the under statement I get the above error:
    exec amendnumber_update (ship_number);


    Please suggest how to manage...

    Hello

    TCSBPMUSER wrote:
    Hi all
    Here is the error:
    ORA-06550: line 1, column 7: PLS-00306: wrong number or types of arguments

    It's one of these error messages that actually means what he says.

    The following code generates the error:
    create or replace PROCEDURE AMENDNUMBER_UPDATE
    (
    SHIP_NUMBER IN VARCHAR2,
    AMEND_NO ON SYS_REFCURSOR)
    AS...

    now when I try to run the under statement I get the above error:
    exec amendnumber_update (ship_number);

    The procedure requires 2 arguments.
    You try to call with only 1 argument. It's the wrong number of arguments.

    To call the procedure from SQL * Plus, you can do something like this:

    VARIABLE   rc  REFCURSOR
    
    EXEC  amendnumber_update (123, :rc);
    

    The 1st argument is an argument IN, so you can pass any kind of digital expression. (I used a literal above.)
    The 2nd argument is an OUT argument, so you must pass a variable. (I used a variable link above.)

  • ORA-06550: PLS-00394: wrong number of values in the list INTO a mesh FETCH

    Dear friends,
    I ask you a suggestion:

    The following code inserts a table errors (errori_work), the IDS of the records repeat (in the work of the table), but gives me this error:
    ORA-06550: PLS-00394: wrong number of values in the list of a FETCH statement INTO.

    The work of the table has the 78 columns: the problem of the fields used in the slider flew against the 78% ROWTYPE fields?
    I could use a record declared as the cursor (rec_tabwork cu_tabwork % ROWTYPE;), but in the MANUAL I need a field (ID_WORK) is not present in the cursor.

    declare
    CURSOR cu_tabwork IS
    SELECT CD_STRUTTURA, CD_SUB_STRUTTURA, NR_PRATICA, likelihood
    Work
    CD_STRUTTURA, CD_SUB_STRUTTURA, NR_PRATICA, applications GROUP
    HAVING COUNT (rowid) > 1
    UNION ALL
    SELECT CD_STRUTTURA, CD_SUB_STRUTTURA, NR_PRATICA, likelihood
    Work
    CD_STRUTTURA, CD_SUB_STRUTTURA, NR_PRATICA, applications GROUP
    After HAVING COUNT (rowid) > 2.
    rec_tabwork work % ROWTYPE;
    BEGIN
    Open cu_tabwork;
    loop
    extract the cu_tabwork in rec_tabwork;
    If FOUND then % cu_tabwork
    dbms_output.put_line (rec_tabwork. (ASL); -test
    INSERT INTO errori_work
    (cd_errore, note, ID_WORK)
    )
    VALUES ("ACC", "Record ripetuto nella table work", rec_tabwork.ID_WORK)
    );
    end if;
    EXIT WHEN cu_tabwork % NOTFOUND;
    end loop;
    close cu_tabwork;
    end;

    Can you help me?
    Thank you
    Leo

    Hello

    I loaded your data and ran the query. It's coz the NR_RICETTA contains a null value, so your State A.NR_RICETTA = B.NR_RICETTA will fail when it checks for NULL = NULL. Here is your output from the query

    PRAZY@orcl> select count(ID_AMBS) FROM WORK A
      2  WHERE A.ROWID > ANY (SELECT B.ROWID FROM WORK B
      3  WHERE A.CD_PRESIDIO        =B.CD_PRESIDIO
      4  AND A.GGMM_CONTATTO        =B.GGMM_CONTATTO
      5  AND A.NR_RICETTA   =B.NR_RICETTA
      6  AND A.CD_CONT_PRESCR       =B.CD_CONT_PRESCR
      7  AND A.NR_PROG_INT  =B.NR_PROG_INT
      8  AND A.DESTINAZIONE =B.DESTINAZIONE)
      9  /
    
    COUNT(ID_AMBS)
    --------------
                48
    
    Elapsed: 00:00:00.00
    

    Therefore, I have included NVL to A.NR_RICETTA, which will produce true when it finds null checking 0 = 0 and you will get your result. and this is what you are looking for

    PRAZY@orcl> select count(ID_AMBS) FROM WORK A
      2  WHERE A.ROWID > ANY (SELECT B.ROWID FROM WORK B
      3  WHERE A.CD_PRESIDIO        =B.CD_PRESIDIO
      4  AND A.GGMM_CONTATTO        =B.GGMM_CONTATTO
      5  AND NVL(A.NR_RICETTA,0)    =NVL(B.NR_RICETTA,0)
      6  AND A.CD_CONT_PRESCR       =B.CD_CONT_PRESCR
      7  AND A.NR_PROG_INT  =B.NR_PROG_INT
      8  AND A.DESTINAZIONE =B.DESTINAZIONE)
      9  /
    
    COUNT(ID_AMBS)
    --------------
                61
    
    Elapsed: 00:00:00.01
    

    If you want to insert the duplicate ID in a Table of errors, do an insert with the following select statement.

    INSERT INTO errori_work(cd_errore, note, ID_AMBS)
    SELECT 'CAC', 'Record ripetuto nella tabella Work',ID_AMBS FROM WORK A
    WHERE A.ROWID > ANY (SELECT B.ROWID FROM WORK B
    WHERE A.CD_PRESIDIO     =B.CD_PRESIDIO
    AND A.GGMM_CONTATTO     =B.GGMM_CONTATTO
    AND NVL(A.NR_RICETTA,0)     =NVL(B.NR_RICETTA,0)
    AND A.CD_CONT_PRESCR     =B.CD_CONT_PRESCR
    AND A.NR_PROG_INT     =B.NR_PROG_INT
    AND A.DESTINAZIONE     =B.DESTINAZIONE);
    

    Hope that solves your problem.

    See you soon!

  • Help me solve pls error ORA-06512

    I create a full dump of database with the following command:
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
    expdp %DB_USERNAME%/%DB_PASSWORD%@%TNS_ALIAS% full = Y CONTENT = all THE directory = % ORADMPDIRNAME % % DMP_BKP_FILENAME % logfile LOGFILE = % = dumpfile
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------

    But when I try to created import dump file, with the command:
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Impdp %DB_USERNAME%/%DB_PASSWORD%@%TNS_ALIAS% full = Y CONTENT = all THE TABLE_EXISTS_ACTION = REPLACE directory = % ORADMPDIRNAME % % DMP_BKP_FILENAME % logfile LOGFILE = % = dumpfile
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------

    I get the following in my console error:
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ...
    Treatment of type of object DATABASE_EXPORT, SYSTEM_PROCOBJACT, PRE_SYSTEM_ACTIONS, PROCACT_SYSTEM
    ORA-39083: Type as procact_system cannot be created with the object error:
    ORA-01843: not one month valid
    Because sql is:
    BEGIN
    If (system.wm$ _check_install) then
    return;
    end if;
    start to run immediately ' insert into wmsys.wm$ workspaces_table
    values ("LIVE",
    '''',
    ''0'',
    '''',
    ''-1'',
    '''',
    "' SYS
    Treatment of type of object DATABASE_EXPORT, SYSTEM_PROCOBJACT, POST_SYSTEM_ACTIONS, PROCACT_SYSTEM
    ORA-39083: Type as procact_system cannot be created with the object error:
    ORA-06550: line 2, column 93:
    PLS-00302: component 'OPERATOR_NONE' must be declared.
    ORA-06550: line 2, column 1:
    PL/SQL: Statement ignored
    Because sql is:
    BEGIN
    dbms_server_alert.set_threshold (2104, dbms_server_alert.operator_GT, '1200', dbms_server_alert.operator_NONE, ", 1,3, 'ias', dbms_server_alert.object_type_SYSTEM,"); COMMIT; END;
    DATABASE_EXPORT/SCHEMA/PROCACT_SCHEMA processing object type
    DATABASE_EXPORT/SCHEMA/TABLE/TABLE processing object type
    ORA-39126: worker unexpected fatal worker error of $ MAIN. PROCESS_TABLE_EXISTS_ACTION [TABLE: 'IX'.] ["" AQ$ _STREAMS_QUEUE_TABLE_T ']
    ORA-24019: QUEUE_TABLE identifier too long, should not exceed 24 characters
    ORA-00955: name is already used by an existing object

    ORA-06512: at "SYS." DBMS_SYS_ERROR', line 95
    ORA-06512: at "SYS." "MAIN$ WORKER", line 6266

    -PL/SQL call stack-
    the line object
    serial number of handle
    14916 package body SYS 3069F2A0. MAIN$ WORKER
    3069F2A0 6293 SYS package body. MAIN$ WORKER
    3069F2A0 11663 SYS package body. MAIN$ WORKER
    3069F2A0 SYS 12429 package body. MAIN$ WORKER
    3069F2A0 11969 SYS package body. MAIN$ WORKER
    3069F2A0 3278 SYS package body. MAIN$ WORKER
    3069F2A0 6882 SYS package body. MAIN$ WORKER
    3069F2A0 1259 SYS package body. MAIN$ WORKER
    2D7B6B4C anonymous block 2
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
    short failure message:
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ...
    ORA-31684: SEQUENCE object type: 'GMT_META '. "' MD_ERRORSEQ ' already exists
    ORA-39083: Type LIBRARY THAT could not create object error:
    ORA-39083: Type as procact_system cannot be created with the object error:
    ORA-39083: Type as procact_system cannot be created with the object error:
    ORA-39126: worker unexpected fatal worker error of $ MAIN. PROCESS_TABLE_EXISTS_ACTION [TABLE: 'IX'.] ["" AQ$ _STREAMS_QUEUE_TABLE_T ']
    ORA-06512: at "SYS." DBMS_SYS_ERROR', line 95
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
    in my D:\oracle\product\10.2.0\admin\ias\bdump\alert_ias.log:
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ...
    WARNING: drop table queue: SYSMAN. Dictionary _MGMT_NOTIFY_QTABLE_T AQ$ does not exist
    WARNING: drop table queue: will try to move the table to the queue and other paintings, IOT, rules, rulesets associated queue table by force
    WARNING: drop_queue_table: no evaluation for the queue table: SYSMAN. AQ$ _MGMT_NOTIFY_QTABLE_T
    WARNING: drop table queue: SYSMAN. Dictionary _MGMT_NOTIFY_QTABLE_H AQ$ does not exist
    WARNING: drop table queue: will try to move the table to the queue and other paintings, IOT, rules, rulesets associated queue table by force
    WARNING: drop_queue_table: no evaluation for the queue table: SYSMAN. AQ$ _MGMT_NOTIFY_QTABLE_H
    WARNING: drop table queue: SYSMAN. Dictionary _MGMT_NOTIFY_QTABLE_G AQ$ does not exist
    WARNING: drop table queue: will try to move the table to the queue and other paintings, IOT, rules, rulesets associated queue table by force
    WARNING: drop_queue_table: no evaluation for the queue table: SYSMAN. AQ$ _MGMT_NOTIFY_QTABLE_G
    WARNING: drop table queue: SYSMAN. Dictionary _MGMT_NOTIFY_QTABLE_I AQ$ does not exist
    WARNING: drop table queue: will try to move the table to the queue and other paintings, IOT, rules, rulesets associated queue table by force
    WARNING: drop_queue_table: no evaluation for the queue table: SYSMAN. AQ$ _MGMT_NOTIFY_QTABLE_I
    WARNING: drop table queue: IX. AQ$ _ORDERS_QUEUETABLE_T dictionary does not exist
    WARNING: drop table queue: will try to move the table to the queue and other paintings, IOT, rules, rulesets associated queue table by force
    WARNING: drop_queue_table: no evaluation for the queue table: IX. AQ$ _ORDERS_QUEUETABLE_T
    WARNING: drop table queue: IX. AQ$ _ORDERS_QUEUETABLE_H dictionary does not exist
    WARNING: drop table queue: will try to move the table to the queue and other paintings, IOT, rules, rulesets associated queue table by force
    WARNING: drop_queue_table: no evaluation for the queue table: IX. AQ$ _ORDERS_QUEUETABLE_H
    WARNING: drop table queue: IX. AQ$ _ORDERS_QUEUETABLE_G dictionary does not exist
    WARNING: drop table queue: will try to move the table to the queue and other paintings, IOT, rules, rulesets associated queue table by force
    WARNING: drop_queue_table: no evaluation for the queue table: IX. AQ$ _ORDERS_QUEUETABLE_G
    WARNING: drop table queue: IX. AQ$ _ORDERS_QUEUETABLE_I dictionary does not exist
    WARNING: drop table queue: will try to move the table to the queue and other paintings, IOT, rules, rulesets associated queue table by force
    WARNING: drop_queue_table: no evaluation for the queue table: IX. AQ$ _ORDERS_QUEUETABLE_I
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
    My settings:
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
    SQL > select * from v version $;

    BANNER
    ----------------------------------------------------------------
    Oracle Database 10 g Enterprise Edition release 10.2.0.3.0 - production
    PL/SQL version 10.2.0.3.0 - Production
    CORE Production 10.2.0.3.0
    AMT for 32-bit Windows: Version 10.2.0.3.0 - Production
    NLSRTL Version 10.2.0.3.0 - Production
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
    SQL > show parameter recov.
    VALUE OF TYPE NAME
    ------------------------------------ ----------- ------------------------------
    db_recovery_file_dest string D:\oracle\product\10.2.0\flash_recovery_area
    whole large db_recovery_file_dest_size 20G
    recovery_parallelism integer 0
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
    SQL > archive logs list;
    Database log mode Archive Mode
    Active AutoArchive
    Destination of archive USE_DB_RECOVERY_FILE_DEST
    More old sequence of journal online 57
    Log sequence archive 59
    Current log sequence 59
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
    D:\oracle\product\10.2.0\flash_recovery_area\IAS\ARCHIVELOG\2009_05_26 > dir
    ...
    26.05.2009 18:12 < DIR >.
    26.05.2009 18:12 < DIR >...
    26.05.2009 16:19 2 898 944 O1_MF_1_57_51QV2KC7_. ARC
    26.05.2009 17:15 48 465 408 O1_MF_1_58_51QYD4PG_. ARC
    26.05.2009 18:12 47 736 O1_MF_1_59_51R1QR5C_ 832. ARC
    3 file (s) on 99 101 184 bytes
    2 dir 473 158 713 344 bytes free

    D:\oracle\product\10.2.0\flash_recovery_area\IAS\ARCHIVELOG\2009_05_26 >
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------

    How can I solve this problem? Any suggestions would be very apprecialble.

    Thanks in advance!

    Please mark the rewards points for responses that answered your question.

Maybe you are looking for

  • AM deleting / changing music / work

    I'm sure this has been posted dozens of times, but the internet is a minefield of misinformation and nonsense and I have not been able to find a definitive answer. I got a subscription to the music of Apple and wanted to listen to music offline. As I

  • How can I set up Yahoo than e-mail by default in firefox?

    I'm trying to set up yahoo as the default email in Firefox. I want that it auto open when I am in a program (such as craigslist) to send an e-mail. I use windows xp. the only reference I can find is in Netscape that I use yahoo as a program in net.

  • Cannot install the Intel HD graphics card in my PC

    I have a M91P (ThinkCentre) 7052A8U. After you have installed Windows 10, I can't get the video to HD Intel integrated to work. 10 Windows download the drivers, but says that it cannot install them. I formatted and reinstalled Windows 10 3 times now

  • Office jet pro 8620: should I disable the printer without cartridge installed?

    I removed the original HP ink that was defective and took it back. Now I have the inkjet (Office jet pro 8620) without cartridges installed. The printer says not to disable so that it does not get damaged but I'll be away for a week and want to turn

  • How to install parental controls on my son's laptop?

    Family safety is on the main computer, but how can I put this on my son's laptop computer in their bedroom? How can previous title - I include parental control on laptops in other rooms