ORA-02256: number of referencing columns must match the referenced column

The following script produces

ORA-02256: number of referencing columns must match the referenced columns, can't think of any reason, someone has an idea?

Please help, I am stuck on an assignment...!

Capture.PNG

drop table qualitycheck;

drop table distribution;

Manager to move table;

CREATE THE TABLE MANAGER)

MgrID number (4),

mfirstname varchar2 (30),

msurname varchar2 (30),

Primary key (mgrid)

);

CREATE DISTRIBUTION TABLE)

ProdID number (4) CONSTRAINT NN_PRODUCT_prodid NOT NULL,

MgrID number (4) CONSTRAINT NN_MANAGER_mgrid NOT NULL,

Primary key (prodid, mgrid)

CONSTRAINT FK_ALLOCATION_MANAGER_mgrid Foreign Key (mgrid) REFERENCE MANAGER,

CONSTRAINT FK_ALLOCATION_PRODUCT_prodid Foreign Key (prodid) REFERENCES PRODUCED

);

CREATE TABLE QUALITYCHECK)

ProdID number (4) CONSTRAINT NN_ALLOCATION_prodid NOT NULL,

MgrID number (4) CONSTRAINT NN_ALLOCATION_mgrid NOT NULL,

number of weekno (2),

Partition number (1),

Primary key (prodid, mgrid, weekno)

CONSTRAINT FK_QUALITYCHECK_PRODUCT_prodid Foreign Key (prodid) ATTRIBUTION of REFERENCES,

CONSTRAINT FK_QUALITYCHECK_MANAGER_mgrid Foreign Key (mgrid) ASSIGNMENT of REFERENCES

);

Hello

Reason is the primary key of the table that is assigned prodid, mgrid, but you try to create the foreign key columns separately.

Try which follows and this should work:

CREATE TABLE QUALITYCHECK (
  prodid number (4) CONSTRAINT NN_ALLOCATION_prodid NOT NULL,
  mgrid number (4) CONSTRAINT NN_ALLOCATION_mgrid NOT NULL,
  weekno number (2),
  score number (1),

Primary Key (prodid,mgrid,weekno),

CONSTRAINT FK_QUALITYCHECK_PRODUCT_FK Foreign Key (prodid, mgrid) REFERENCES ALLOCATION
);

Tags: Database

Similar Questions

  • Get speech recognition error message could not start because the configuration of the language is not supported, the language must match the language of the user interface

    I am running Windows 7 Ultimate 32 bit, when I run speech recognition it fails and the following message appears,

    Voice recognition couldn't start because the configuration of the language is not supported, the language must match the language of the user interface.

    I tried to change the language, then back to British English, but the problem is still there, I'd appreciate any help with this problem

    Is there a solution to this problem yet?

  • Package ID must match the ID of Package in the bundle of original file

    So finally I managed to get through an upgrade after a few bit of pain here & there, I'm ready for deploymemt

    I put in the point to point 10.1 and made a few versions around mid-2013, the HD on the machine where I had this fried configuration. I come back to this a few days ago and the backup of the src code proj, I also had author.p12 and the debug.bar with what I was able to add new features, to a 10.2 version and solve some problems. Tested/developed on a device with Momentics 2.1 on a Mac, so I made a trip lever, but now I'm getting yet another one of these beautiful IDPack messages, I love to hate. I saw all related IDPack positions but clearly nothing.

    I had and original set of keys for BB OS and a few signature remember where these p12 generated somehow

    I see on my old bar MANIFESTO version. MF the package name and the PackageID, the latter of course comes out different, but don't know why? Is there another file that I need to come into this picture? A tip? What is the problem with the token? I remember at the time you can manually cut & paste the IDPack and it would work then of course BB added something that disabled who.

    Thank you

    When you restore the files barsigner.csk and barsigner.db, you also need to delete the file bbidtoken.csk (from the same directory).  Otherwise Momentics will continue to use BlackBerry ID Token.

    What do you mean Momentics don't like it?  It is a failure to sign now?

  • Cannot return after rejection App-> bundle File (ThaiNumber.bar) has been rejected. Package ID is required for all .bar file. If this is an upgrade, ID of Package must match ID of Package in the bundle of original file.

    My 'ThaiNumber.bar' application was rejected. Can I change app and will need to submit Appworld

    It got error

    "Bundle file (ThaiNumber.bar) has been rejected." Package ID is required for all .bar file. If this is an upgrade, the package

    ID must match the ID of Package in the bundle of original file. »

    Help, please

    Looks like you changed the name of the application in your config.xml file, or use a computer/signature different keys.

  • Signature App, number of Folios error does not match the main file Folio

    Hi all;

    I have a standalone application of 250 pages that I'm trying to compile for the Apple Store. I've read through the forums and enabled "AppBuilderLoggingEnabled.cfg" in my home directory of the user to discuss the issue. Here is an excerpt of the newspaper which has been created which, to me, shows why the app is not signed.

    46386 codesign ERROR [main]. Signatory - failure during the signature

    java.lang.RuntimeException: invalid package, number of folios does not match the primary file (Folio.xml or Issue.xml) 251-250 folio

    at com.adobe.devtech.codesign.IPAOutputHelper.convertFolioProduceFormatToFolio (IPAOutputHelp er.java:272)

    at com.adobe.devtech.codesign.IPAOutputHelper.replacePlaceholderFolio (IPAOutputHelper.java:1 92)

    at com.adobe.devtech.codesign.IPAOutputHelper.execute(IPAOutputHelper.java:82)

    at com.adobe.devtech.codesign.Signer.sign(Signer.java:169)

    at com.adobe.devtech.codesign.Signer.processArgs(Signer.java:106)

    at com.adobe.devtech.codesign.Signer.main(Signer.java:46)

    46388 codesign ERROR [main]. Signatory - error: invalid package, number of folios does not match the master folio (Folio.xml or Issue.xml) 251-250

    I deleted special characters in the article titles and rebuilt the app only to deal with the same error. I have advanced and created a new AppID in the portal to Apple developers, created new files available, and the error remains. I am now to create a new folio and import the items into the new folio to see if that will solve the problem of "number of folios does not.

    Any help or idea would be amazing. Thanks to you all.

    -mat

    I created a new folio and all items imported again. After hitting "Create App" for this new folio, to about 10 pages in a 'PDF Export' error stopped the app creation process. I went in InDesign to update the layout for the 10 page to see that the PDF export issue kept me from updating the page layouts as well. Some thing in the InDesign file was not playing nice with the creation of folio, so I created two new InDesign files, deleted the article and built a new article from scratch. I was able to import the new page in a new article to the main folio and click on "Create App" again. This time he had no problems with the creative process. I have synced files available in App Builder and could sign the application code.

    I guess the moral of the story is to double and even triple check each item along the way to make sure there is no problem, is introduced into the process that eventually causes headaches during the phase of distribution of creating applications!

    -mat

  • That must make the password stored in the JAGENT portfolio, and what JAVA_HOME should I use for the pw_agent_util.sh command?

    I configure the GoldenGate Plugin for OEM. There is a step to create the portfolio. The documentation is not clear on the role of the provided password. If I run the JAGENT as user oracle, it must match the password for the oracle user, or is this separate password? Also, should I use the jdk to OEM agent to set JAVA_HOME?

    ./pw_agent_util.sh - jagentonly

    Pat,

    Morning.  Good to see that someone is working on the use of the plug-in for GoldenGate in OEM12c.

    If you use the plugin 12.1.0.2, you will be much better with the preparation of reports on the processes of GoldenGate.  In order to get the 12.1.0.2 plugin to work, the 12.1.3.0 JAgent is necessary and can be downloaded in the distribution of the Oracle GoldenGate monitor (Agent Monitor configuration Oracle #GoldenGate |) DBASolved).  If you use the old plug-in 12.1.0.1, the JAgent is integrated with the GoldenGate Software (Oracle GoldenGAte(11.2.1.0.1 and later) and Oracle Enterprise Manager 12 c |) DBASolved).  I recommend you take the new plug-in!

    Now to the address that ask you the password. The password is stored in the portfolio under the House of GoldenGate ($OGG_HOME/dirwlt) and is used directly for the JAgent to connect to the EMAgent and connect with OEM.  The password associated with user name is configured in the $JAGENT_HOME (different depending on version, look for the Config.properties).  Then in OEM, the user name defined in the Config.properties and the password in the portfolio must be provided before OEM GoldenGate targets will come.

    The $JAVA_HOME parameter is dependent on the version of JAgent you want to run.  The JAgent 12.1.3.0 to using the JDK 1.7 or higher.  The JAgent shipped using JDK 1.6.

    Thank you

    Bobby

  • PLS-00113: identifier 'C_EMP' of the END must match 'EMP_SEARCH' at line 1, column 10 in stored function

    Hi all

    What is the problem in this function?

    SQL > create or replace function Emp_Search (number v_empno)

    2 return a Boolean value

    3 is

    4 cursor c_emp is Empno select from Emp;

    5. start

    6 for emp_r looping c_emp

    7 if v_empno = emp_r.empno then

    8 dbms_output. Put_line (v_empno |) 'lies');

    9 return true;

    10 end if;

    11 end of loop;

    12 end c_emp;

    13 dbms_output. Put_line (v_empno |) ("' is not found");

    14 return false;

    End 15 Emp_Search;

    16.

    WARNING: Function created with compilation errors.

    SQL > show error

    Errors for the EMP_SEARCH FUNCTION:

    LINE/COL ERROR

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

    12/7 PLS-00113: identifier 'C_EMP' of the END must match 'EMP_SEARCH' on line

    1, column 10

    13/2 PLS-00103: encountered the symbol "DBMS_OUTPUT.

    13/49 PLS-00103: encountered the symbol ";" when expecting one of the

    Next:

    . (, * % & -+ / at rem rest mod < an ID >)

    < between double quote delimited identifiers of > < an exhibitor > (*) as

    go to | bulk of type multiset

    I hope it's just exploring things...

    FUNCTION to CREATE or REPLACE emp_search (in_empno IN emp.empno%TYPE)
    RETURN NUMBER
    IS
    CURSOR c_emp (cp_empno IN emp.empno%TYPE)
    IS COUNT (*) SELECT
    WCP
    WHERE empno = cp_empno;
              
    l_row_cntr PLS_INTEGER;
    BEGIN
    OPEN c_emp (cp_empno-online in_empno).
    extraction INTO l_row_cntr c_emp;
    close c_emp;
      
    IF l_row_cntr > 0
    THEN
    SYS. Dbms_output.put_line (in_empno |) "lies");
    ON THE OTHER
    SYS. Dbms_output.put_line (in_empno |) 'is not found");
    end if;

    RETURN l_row_cntr;
    END emp_search;
    /

    HTH

  • ORA-01785: ORDER BY item must include the number of an expression in the SELECT list

    Apex 3.1.1 Oracle 10g

    Hello
    I get this error message sporadically and finally understood how to reproduce the error constantly. The problem occurs in a standard report using the SQL query (body of function from PL/SQL returning SQL query). I found several other posts stating the same problem like this: Re: report sorting limitation

    My example on apex.oracle.com is here: [http://apex.oracle.com/pls/otn/f?p=23292:4:427533145943010:] with credentials of comments/example. Run the page 4. If you click on demo_customers and sort on credit_limit, and then click demo_users, you should get the error. If you click Debug, you will see the following text:
    0.06: show report 
    0.07: determine column headings
    0.07: activate sort
    0.07: parse query as: WFU_CARS
    0.07: query could not be parsed:
    select  * from DEMO_USERS
     order by 11,1
    failed to parse SQL query:
    ORA-01785: ORDER BY item must be the number of a SELECT-list expression
    It seems that the ORDER BY clause is not set to zero? refreshing? When the source of the report is changed. Note that sorting on demo_customers on the column credit_limit column 11. When executing the query of demo_users, an ORDER OF 11.1 is added to the SQL statement.

    Any ideas how to solve this problem? Thank you!

    Lisa

    Lisa:

    You can reset the current so specifications whenever you build a new query for the report area. Thus, in the pl/sql that generates the report query, add this line of code just before returning the query string.

    apex_util. REMOVE_SORT_PREFERENCES;

    CITY

  • SQL error: ORA-01779: cannot modify a column that matches a key examine

    Hi all

    The requirement is that I have two tables s_party_d and S_CONTACT_d. the need to update the column name with FST_NAME | ',' | Last_name when column rowid in both tables are equal. I used the query previously below: -.

    Update
    (select
    E1. Name,
    e.FST_NAME,
    Select
    Of
    s_party_d e1,
    E S_CONTACT_d
    where
    E1. Game of ROW_ID = e.ROW_ID)
    name = FST_NAME | ',' | LAST_NAME;

    But I get the error message when executing the query

    Error in the command line: 31 column: 3
    Error report:
    SQL error: ORA-01779: cannot modify a column that is mapped to a table not preserved key
    01779 00000 - 'impossible to change a column that is mapped to a non-preserved table at key'
    * Cause: An attempt was made to insert or update columns in a join finds out who
    map to a table not kept the key.
    * Action: Change the directly underlying base tables.

    Can U please tell me why this error and how to solve?

    Thank you
    Mathon

    Mathon wrote:

    So, I have to look into some other method... I can't achieve this using a single update statement...

    Well, no matter what you do you need to decide what FST_NAME | ',' | Name to use. As I already pointed out for each line of the line of the s_party_d table there are several rows in table S_CONTACT_d. Again, you must yo decide what S_CONTACT_d table row you want to use. For example:

    update s_party_d e1
       set e1.name = (
                      select  max(e.FST_NAME) ||', '|| max(e.LAST_NAME)
                        from  S_CONTACT_d e
                        where e1.ROW_ID=e.ROW_ID
                     )
     where e1.ROW_ID in (
                         select  e.ROW_ID
                           from  S_CONTACT_d e
                        )
    /
    

    SY.

  • ORA-01730: number of column names specified invalid

    I am trying to create a view. The select statement by itself works very well. The create view statement becomes an error ORA-01730.

    SQL > CREATE OR REPLACE VIEW STAFFING. V_FORECAST_EXCEPTION_XTAB
    2 AS
    3. SELECT
    V_EMPLOYEE_FORECAST_EXCEPTION 4. EMPLOYEE_NAME,
    V_EMPLOYEE_FORECAST_EXCEPTION 5. AFC,
    6 V_EMPLOYEE_FORECAST_EXCEPTION. COST_CENTER,
    V_EMPLOYEE_FORECAST_EXCEPTION 7. FUNDS,
    V_EMPLOYEE_FORECAST_EXCEPTION 8. PAY_PLAN,
    CURRENT_FY.FY 9,.
    10 SUM (DECODE (MV_PAYROLL_CY. PP, 21, MV_PAYROLL_CY. PAY_AMT, 0)) PP21.
    11 SUM (DECODE (MV_PAYROLL_CY. PP, 22, MV_PAYROLL_CY. PAY_AMT, 0)) PP22,.
    12 SUM (DECODE (MV_PAYROLL_CY. PP, 23, MV_PAYROLL_CY. PAY_AMT, 0)) PP23,.
    13 SUM (DECODE (MV_PAYROLL_CY. PP, 24, MV_PAYROLL_CY. PAY_AMT, 0)) PP24,.
    14 SUM (DECODE (MV_PAYROLL_CY. PP, 25, MV_PAYROLL_CY. PAY_AMT, 0)) PP25.
    15 SUM (DECODE (MV_PAYROLL_CY. PP, 26, MV_PAYROLL_CY. PAY_AMT, 0)) PP26,.
    16 SUM (DECODE (MV_PAYROLL_CY. PP, 1, MV_PAYROLL_CY. PAY_AMT, 0)) PP01.
    17 SUM (DECODE (MV_PAYROLL_CY. PP, 2, MV_PAYROLL_CY. PAY_AMT, 0)) PP02.
    18 SUM (DECODE (MV_PAYROLL_CY. PP, 3, MV_PAYROLL_CY. PAY_AMT, 0)) PP03,.
    19 SUM (DECODE (MV_PAYROLL_CY. PP, 4, MV_PAYROLL_CY. PAY_AMT, 0)) PP04,.
    SUM (DECODE (MV_PAYROLL_CY 20. PP, 5, MV_PAYROLL_CY. PAY_AMT, 0)) PP05,.
    21 SUM (DECODE (MV_PAYROLL_CY. PP, 6, MV_PAYROLL_CY. PAY_AMT, 0)) INTRODUCED PP06.
    SUM (DECODE (MV_PAYROLL_CY 22. PP, 7, MV_PAYROLL_CY. PAY_AMT, 0)) PP07,.
    23 SUM (DECODE (MV_PAYROLL_CY. PP, 8, MV_PAYROLL_CY. PAY_AMT, 0)) PP08,.
    24 SUM (DECODE (MV_PAYROLL_CY. PP, 9, MV_PAYROLL_CY. PAY_AMT, 0)) PP09,.
    25 SUM (DECODE (MV_PAYROLL_CY. PP, 10, MV_PAYROLL_CY. PAY_AMT, 0)) PP10,.
    SUM (DECODE (MV_PAYROLL_CY 26. PP, 11, MV_PAYROLL_CY. PAY_AMT, 0)) PP11,.
    27 SUM (DECODE (MV_PAYROLL_CY. PP, 12, MV_PAYROLL_CY. PAY_AMT, 0)) PP12,
    28 SUM (DECODE (MV_PAYROLL_CY. PP, 13, MV_PAYROLL_CY. PAY_AMT, 0)) PP13,.
    29 SUM (DECODE (MV_PAYROLL_CY. PP, 14, MV_PAYROLL_CY. PAY_AMT, 0)) PP14.
    30 SUM (DECODE (MV_PAYROLL_CY. PP, 15, MV_PAYROLL_CY. PAY_AMT, 0)) PP15,.
    SUM (DECODE (MV_PAYROLL_CY 31. PP, 16, MV_PAYROLL_CY. PAY_AMT, 0)) PP16,.
    32 SUM (DECODE (MV_PAYROLL_CY. PP, 17, MV_PAYROLL_CY. PAY_AMT, 0)) PP17,.
    33 SUM (DECODE (MV_PAYROLL_CY. PP, 18, MV_PAYROLL_CY. PAY_AMT, 0)) PP18,.
    34 SUM (DECODE (MV_PAYROLL_CY. PP, 19, MV_PAYROLL_CY. PAY_AMT, 0)) PP19,.
    35 SUM (DECODE (MV_PAYROLL_CY. PP, 20, MV_PAYROLL_CY. PAY_AMT, 0)) PP20
    36 FROM
    V_EMPLOYEE_FORECAST_EXCEPTION 37,
    CURRENT_FY 38,
    39 MV_PAYROLL_CY
    40. WHERE THE
    V_EMPLOYEE_FORECAST_EXCEPTION.FY 41 = CURRENT_FY.FY
    42 AND V_EMPLOYEE_FORECAST_EXCEPTION. EMPLOYEE_NAME = MV_PAYROLL_CY. EMP_NAME
    43 AND V_EMPLOYEE_FORECAST_EXCEPTION. COST_CENTER = SUBSTR (MV_PAYROLL_CY.ORG_CODE, 1, 6)
    44 AND V_EMPLOYEE_FORECAST_EXCEPTION. FUND = MV_PAYROLL_CY. FUND
    45 AND V_EMPLOYEE_FORECAST_EXCEPTION. PAY_PLAN = MV_PAYROLL_CY. PAY_PLAN
    46 AND V_EMPLOYEE_FORECAST_EXCEPTION.FY = MV_PAYROLL_CY.FY
    47 AND V_EMPLOYEE_FORECAST_EXCEPTION. PP = MV_PAYROLL_CY. PP
    48 AND V_EMPLOYEE_FORECAST_EXCEPTION. AFC = SUBSTR (MV_PAYROLL_CY. SAC, 3, 2)
    49 GROUP BY
    50 V_EMPLOYEE_FORECAST_EXCEPTION. EMPLOYEE_NAME,
    51 V_EMPLOYEE_FORECAST_EXCEPTION. AFC,
    52 V_EMPLOYEE_FORECAST_EXCEPTION. COST_CENTER,
    53 V_EMPLOYEE_FORECAST_EXCEPTION. FUNDS,
    54 V_EMPLOYEE_FORECAST_EXCEPTION. PAY_PLAN,
    55 CURRENT_FY.FY;
    SUM (DECODE (MV_PAYROLL_CY. PP, 21, MV_PAYROLL_CY. PAY_AMT, 0)) PP21.
    *
    ERROR on line 10:
    ORA-01730: number of column names specified invalid

    More likely [Bug 3040464 - defined views as ALIAS.* selection should be expanded | https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=3040464.8]

    SY.

  • Error: "file beam (Alarm.bar) was rejected. Package ID is required for all .bar file. If this is an upgrade, ID of Package must match ID of Package in the bundle of original file. »

    I am trying to submit a new version of my application "awakening."

    I'm on "Presentation of new Release" screen and when I click on the pencil under the column "Files" icon and select my new BAR file, I get the following error:

    File bundle (Alarm.bar) was rejected. Package ID is required for all .bar file. If this is an upgrade, ID of Package must match ID of Package in the bundle of original file.

    Because of this error, I am unable to submit new versions of the application.

    This error occurs generally if you:

    n ' have not increased the number of output

    -try to connect with the new signing keys

  • VTI transform whole NAME and ipsec profile NAME must match?

    Just a quick question.
    Establishing a VTI between two end points and I want to know best practices.

    Transformation set NAME match?  My tests show that it's OK to not have the same name on each end as the works of large tunnel.

    The NAME ipsec profile must match? Again my tests shows that it is OK to not have the same name on each end as the large tunnel works.

    Is this OK for the number of policy isakmp to not be the same on both ends. Tests show that it's OK as well.

    While I know have different NAMES on each side work, I would like to know if its safe for production in that its does not cause me issues down the line.

    The reason why I ask, I've read that both sides match, but only what settings, or is it the settings and names?

    Hello

    Only the parameters must be mapped on the ends and not the names. ISAKMP policy numbers and names are locally important and so it does not need to match both sides. Let me know if you have further questions.

    HTH,

    Khaldi

  • TO_DATETIME gives the error ORA-01861: literal does not match the format string

    When I use the following in a formula in the column in the business model, the administration of BI tool does not complain:

    TO_DATETIME (LEFT ("registration - College". "D time". " ("' Exercise ', 4) | ("/ 09/01 ', ' yyyy/mm/dd')

    But when I use it in an analysis, I get the error message:

    ORA-01861: literal does not match the format to the call of the OIC string

    The scope of practice is a varchar of 6 characters (e.g. 201213), so I do not know what causes this error. Is this because the TO_DATETIME expects something like hh as argument?

    Without the element that to_datetime is supposed to work, here is an example that I made on SampleApp406.

    Try to add the "time", but for me it has always worked without problem.

  • PLS-00306: wrong number or types of arguments in the call to 'XXC_AMOUNT' ORA-06550

    Hi all

    CREATE OR replace PROCEDURE Xxc_amount (v_item_id IN NUMBER,

                                             v_amount  OUT NUMBER,

                                             v_size    OUT NUMBER)

    IS

      v_size   NUMBER := NULL;

    v_amount NOMBRE;

    START

        BEGIN

    CHOOSE conversion_rate

            INTO   v_size

    FROM mtl_uom_class_conversions

            WHERE  inventory_item_id = v_item_id -- 2289;

            v_amount := Nvl (Trunc (v_size), 0);

    -RETURN (cp_cartons);

        EXCEPTION

            WHEN OTHERS THEN

              v_size := 0;

              dbms_output . Put_line ()' Error getting Item Id:'| V_ITEM_ID );

        END ;

    dbms_output. Put_line ('Qty-->' || v_amount );

    dbms_output. Put_line ('Qty1-->'|| v_size );

    END ;

    DECLARE

        amount NUMBER;

        v_size NUMBER;

    START

        Xxc_amount (2289, amount, v_size);

    dbms_output. Put_line (amount || '--' || v_size );

    END ;

    ORA-06550: line 5, column 5:

    PLS-00306: wrong number or types of arguments in the call to 'XXC_AMOUNT '.

    ORA-06550: line 5, column 5:

    PL/SQL: Statement ignored

    Thank you

    Post edited by: 994122 changed the name of the procedure to Xxc_amount Xxc_amount1

    Simply remove the declarations of the v_size and v_amount and it should work.

    The following text compiles and works for me when I call:

    CREATE OR replace PROCEDURE Xxc_amount (v_item_id IN NUMBER,
                                            v_amount  OUT NUMBER,
                                            v_size    OUT NUMBER)
    IS
    BEGIN
        BEGIN
            SELECT conversion_rate
            INTO  v_size
            FROM  mtl_uom_class_conversions
            WHERE  inventory_item_id = v_item_id; -- 2289;
            v_amount := Nvl (Trunc (v_size), 0);
        --RETURN (cp_cartons);
        EXCEPTION
            WHEN OTHERS THEN
              v_size := 0;
              dbms_output.Put_line ('Error in Getting for Item Id :'|| v_item_id);
        END;
        dbms_output.Put_line ('Qty-->' || v_amount);
        dbms_output.Put_line ('Qty1-->'|| v_size);
    END;
    
    DECLARE
        amount NUMBER;
        v_size NUMBER;
    BEGIN
        Xxc_amount (2289, amount, v_size);
        dbms_output.Put_line (amount || '--' || v_size);
    END;
    
  • ORA-01747: invalid user.table.column... on the REPLACEMENT notice

    Oracle 11g Release 2

    I run an UPDATE statement. In the 'set' I am trying to update a column by using a subquery on the right side. REPLACE the statement Gets the error ORA-01747: specification of invalid column, table.column, or user.table.column.

    create table tab1
    ( file_id   number  ,
      record_id number  ,
      part_type_id number ,
      part_number  number ,
      positon_id   number ,
      notes        varchar2(255) ,
      mapped       varchar2(1) default 'N'
    )
    /
    insert into tab1 values(1,1,123,777,1,'NEW|A/C COMPRESSOR KIT','N') ;
    insert into tab1 values(1,2,123,777,2,'REMAN|A/C LINE','N') ;
    insert into tab1 values(1,3,123,777,2,'TEST NOTE','N') ;
    commit;
    select * from tab1;
    /*
      FILE_ID  RECORD_ID PART_TYPE_ID PART_NUMBER POSITON_ID NOTES                     MAPPED
    --------- ---------- ------------ ----------- ---------- ------------------------- ------
            1          1          123         777          1 NEW|A/C COMPRESSOR KIT         N
            1          2          123         777          2 REMAN|A/C LINE                 N
            1          3          123         777          1 TEST NOTE                      N
    */
    
    
    DECLARE
       v_note2 varchar2(255) := 'NEW' ;
    BEGIN
    UPDATE tab1 t 
             SET 
              , t.notes =  (select REPLACE(t.notes,v_note2,null) 
                            from dual )
          WHERE t.file_id = 1         -- value comes from another source
          AND   t.part_type_id = 123  -- value comes from another source
          AND   t.part_number = 777   -- value comes from another source
          AND   t.position_id = 1  ;  -- value comes from another source
    END ;
    /
    
    ERROR at line 3:
    ORA-01747: invalid user.table.column, table.column, or column specification
    

    Here's what the end result should be:

      FILE_ID  RECORD_ID PART_TYPE_ID PART_NUMBER POSITON_ID NOTES                     MAPPED
    --------- ---------- ------------ ----------- ---------- ------------------------- ------
            1          1          123         777          1 |A/C COMPRESSOR KIT            N
            1          2          123         777          2 REMAN|A/C LINE                 N
            1          3          123         777          1 TEST NOTE                      N
    

    Hello

    orclrunner wrote:

    Oracle 11g Release 2

    I run an UPDATE statement. In the 'set' I am trying to update a column by using a subquery on the right side. REPLACE the statement Gets the error ORA-01747: specification of invalid column, table.column, or user.table.column.

    1. create table tab1
    2. (file_id number,
    3. number of record_id,
    4. number of part_type_id
    5. number of PART_NUMBER,
    6. number of positon_id
    7. Notes VARCHAR2 (255),
    8. mapped by default varchar2 (1) ' don't
    9. )
    10. /
    11. insert into tab1 values (1,1,123,777,1,'NEW |) Kit COMPRESSOR / it, ' don't);
    12. insert into tab1 values (1,2,123,777,2,'REMAN |) A/C LINE ',' don't);
    13. insert into tab1 values (1,3,123,777,2, 'NOTE of TEST', ' don't);
    14. commit;
    15. Select * from tab1;
    16. /*
    17. FILE_ID RECORD_ID PART_TYPE_ID PART_NUMBER POSITON_ID MAPPED NOTES
    18. --------- ---------- ------------ ----------- ---------- ------------------------- ------
    19. 1 1 123 777 1 NEW | A/C COMPRESSOR KIT N
    20. 1 2 123 777 2 REMAN | A/C LINE N
    21. 1 3 123 777 1 TEST NOTES N
    22. */
    23. DECLARE
    24. VARCHAR2 (255) v_note2: = "NEW";
    25. BEGIN
    26. Tab1 t UPDATE
    27. SET
    28. t.notes = (select REPLACE(t.notes,v_note2,null)
    29. the double)
    30. WHERE t.file_id = 1 - value comes from another source
    31. AND t.part_type_id = 123 - value comes from another source
    32. AND t.part_number = 777 - value comes from another source
    33. AND t.position_id = 1;  -value comes from another source
    34. END;
    35. /
    36. ERROR at line 3:
    37. ORA-01747: invalid column, table.column, or user.table.column specification

    Here's what the end result should be:

    1. FILE_ID RECORD_ID PART_TYPE_ID PART_NUMBER POSITON_ID MAPPED NOTES
    2. --------- ---------- ------------ ----------- ---------- ------------------------- ------
    3. 1          1          123         777          1 | A/C COMPRESSOR KIT N
    4. 1 2 123 777 2 REMAN | A/C LINE N
    5. 1 3 123 777 1 TEST NOTES N

    The comma after SET is a syntax error.

    Why you use double?  Why not just

    UPDATE tab1

    SET of notes = REPLACE (notes, v_note2)

    WHERE file_id = 1

    ...

    ?

Maybe you are looking for