What's * NOT * less out error with ORA-00904?

SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Express Edition Release 11.2.0.2.0 - Beta
PL/SQL Release 11.2.0.2.0 - Beta
CORE    11.2.0.2.0      Production
TNS for 32-bit Windows: Version 11.2.0.2.0 - Beta
NLSRTL Version 11.2.0.2.0 - Production



SQL> drop table t1;

Table dropped.

SQL> drop table t2;

Table dropped.

SQL> create table t1 (some_order_line_id number);

Table created.

SQL> create table t2 (order_line_id number);

Table created.

SQL> SELECT order_line_id FROM t1
  2  /
SELECT order_line_id FROM t1
       *
ERROR at line 1:
ORA-00904: "ORDER_LINE_ID": invalid identifier


SQL> SELECT * FROM t2 WHERE order_line_id IN (SELECT order_line_id FROM t1);

no rows selected

SQL>
If it's in the manual, please point to me. I fully expect it give me the error the second time around.

PS:
It was the same in 11 GR 2 Enterprise Edition too.

Published by: RPuttagunta on August 16, 2011 12:53

No, you cannot rewrite the query it.

SELECT * FROM t2 WHERE t2.order_line_id IN (SELECT t2.order_line_id FROM t1);

would be equivalent to

SELECT *
  FROM t2
 WHERE t2.order_line_id IS NOT NULL
   AND EXISTS (
    SELECT 1
      FROM t1
    )

If you assume that T1 has at least one line and that T2. ORDER_LINE_ID is NOT NULL, it is equivalent to

SELECT *
  FROM t2

For each row in T2, Oracle would choose the T2. ORDER_LINE_ID of T1. Assuming that T1 has at least one line and that ORDER_LINE_ID is NOT NULL, it will come back N rows with values not equal NULL (1 row for each row of T1). The IN, by definition, could be set to TRUE.

Thus, while it is a valid syntax, it is very unlikely that the syntax that you'd really like.

Justin

Tags: Database

Similar Questions

  • Number of error SQL ORA-00904: invalid column name has occurred.

    Hello
    on P8.18 on a Win 2003 server when we launch SWPAUDIT, it failed with:
    Number of error SQL ORA-00904: invalid column name has occurred. Query process failed.
    I searched this error on metalink3. Nothing in connection with.

    Any idea?

    Thank you.

    Please give a clear picture of what you are doing... .and what paintings... There is the possibility of the audit refers to certain tables... with deleted. names of columns just look in the structure of what you audit?

    Please, find the name of column...

    ORA-00904: string: invalid identifier
    Cause: The column name entered is invalid or missing.
    Action: Enter a valid column name. A valid column name must start with a letter, must be less than or equal to 30 characters and include only alphanumeric characters and the special characters $, _, and #. If it contains other characters, then it must be enclosed in quotation marks. It cannot be a reserved word.

  • Update fails with ORA-00904 invalid identifier

    Hi all
    I have problems of construction of an ' update '. Execute the following select statement,
    SELECT 
     XREF.REGN_ID,
           XREF.COUNTY_NM,
           OWNER.CASE_OWNER_ID,
           OWNER.FORMER_AREA,
           OWNER.AREA,
           OWNER.COUNTY_NUMBER,
           OWNER.OFFICE
      FROM PS2_CASE_OWNER_SEYED OWNER,
           DWFSSD.TAFS_REGN_AREA_XREF_MART XREF
              WHERE    (OWNER.AREA = XREF.AREA_ID(+))
                 AND (OWNER.OFFICE = XREF.OFFICE_CD(+) )
                 AND (OWNER.COUNTY_NUMBER = XREF.COUNTY_NUM(+))
    Returns
    REGN_ID   COUNTY_NM                        CASE_OWNER_ID   FORMER_AREA   AREA   COUNTY_NUMBER   OFFICE   
    "1"       "Alfalfa"                        "5008756"       "1"           "1"    "02"            "C"      
    "1"       "Alfalfa"                        "5008954"       "1"           "1"    "02"            "C"      
    "1"       "Beckham"                        "5008803"       "1"           "1"    "05"            "C"      
    "1"       "Beckham"                        "5008222"       "1"           "1"    "05"            "C"      
    "1"       "Beckham"                        "5008223"       "1"           "1"    "05"            "C"      
    "1"       "Beckham"                        "5008424"       "1"           "1"    "05"            "C"      
    "1"       "Beckham"                        "5008442"       "1"           "1"    "05"            "C"      
    "1"       "Beckham"                        "5008780"       "1"           "1"    "05"            "C"      
    "1"       "Beckham"                        "5008787"       "1"           "1"    "05"            "C"      
    "1"       "Beckham"                        "5008788"       "1"           "1"    "05"            "C" 
    I am trying to execute the following statement, "Update", update the PS2_CASE_OWNER_SEYED table.
    UPDATE (
      SELECT OWNER.AREA, XREF.REGN_ID, XREF.COUNTY_NM
      FROM PS2_CASE_OWNER_SEYED OWNER, DWFSSD.TAFS_REGN_AREA_XREF_MART XREF
       WHERE    (OWNER.AREA = XREF.AREA_ID(+))
         AND (OWNER.OFFICE = XREF.OFFICE_CD(+) )
         AND (OWNER.COUNTY_NUMBER = XREF.COUNTY_NUM(+))
    )
    SET OWNER.FORMER_AREA = OWNER.AREA,
        OWNER.AREA = XREF.REGN_ID,
        OWNER.COUNTY_NAME = XREF.COUNTY_NM;
    The "Update" statement returns the following error:
    ORA-00904: "XREF"."COUNTY_NM": invalid identifier
    Any ideas what's wrong with the update statement?

    Thank you

    Seyed

    Hi, Seyed,

    Here's a way to do this UPDATE:

    UPDATE     emp
    SET     sal     = sal * 1.05
    ,     comm     = NVL (comm, 0) + 500
    WHERE     deptno     IN (
                   SELECT     deptno
                   FROM     dept
                   WHERE     loc     = 'DALLAS'
                 )
    ;
    

    If you want to use an inline view, you can do this:

    UPDATE     (
              SELECT     e.sal
              ,     e.comm
              FROM     emp     e
              JOIN     dept     d  ON     d.deptno  = e.deptno
              WHERE     d.loc     = 'DALLAS'
         )
    SET     sal     = sal * 1.05
    ,     comm     = NVL (comm, 0) + 500
    ;
    

    Whatever it is, the emp table is left as you wish:

    EMPNO ENAME  JOB         MGR HIREDATE          SAL  COMM DEPTNO
    ----- ------ --------- ----- ---------- ---------- ----- ------
     7782 CLARK  MANAGER    7839 06/09/1981       2450           10
     7839 KING   PRESIDENT       11/17/1981       5000           10
     7934 MILLER CLERK      7782 01/23/1982       1300           10
     7876 ADAMS  CLERK      7788 05/23/1987       1155   500     20
     7902 FORD   ANALYST    7566 12/03/1981       3150   500     20
     7566 JONES  MANAGER    7839 04/02/1981    3123.75   500     20
     7788 SCOTT  ANALYST    7566 04/19/1987       3150   500     20
     7369 SMITH  CLERK      7902 12/17/1980        840   500     20
     7499 ALLEN  SALESMAN   7698 02/20/1981       1600   300     30
     7698 BLAKE  MANAGER    7839 05/01/1981       2850           30
     7900 JAMES  CLERK      7698 12/03/1981        950           30
     7654 MARTIN SALESMAN   7698 09/28/1981       1250  1400     30
     7844 TURNER SALESMAN   7698 09/08/1981       1500     0     30
     7521 WARD   SALESMAN   7698 02/22/1981       1250   500     30
    
  • Keep getting a memory could not be written error with Acrobat Pro XI

    Hello

    Below is the error I keep seeing on my windows 7 Adobe Acrobat Pro XI enforcement machine. It happens with any PDF that I opened and when it pops up it force closes xi pro adobe acrobat and does not allow me to save all data before it happens. In general, it gives me 20 seconds before it closes so if I am fast enough I could save it, but it does every 5 minutes or more.

    memory error.png

    Things I've tried...

    1 tried to use the cleaning of adobe tool to uninstall acrobat adobe pro xi completely from the computer, rebooted, reinstalled (same error at the same place)

    2. tried using forefront endpoint protection for not full system scan (what we use in our company) - no viruses (same error at the same place)

    3 tried to delete the user profile that has the question on our machine of the company, the addition of a new blank profile with acrobat (same error at the same place)

    4. I tried to reinstall windows (wipe everything) and reinstall acrobat (same error at the same place)

    5 tried to run memtest for my RAM and RAM integrated test tool, no error on RAM (same error even location)

    6. replace the RAM and motherboard in case there was a problem of memory onboard (same error even location)

    7. now, I gave the user a ready computer, same configuration and it works fine. No other program gives this error, but Adobe Acrobat Pro XI, and now I have a second user with a new laptop Dell get this error at the same place.

    We have a lot of users on the site using Acrobat if it was only 2 of a possible 3 k users having this same exact error, so don't know why it does on 2 completely different computer types. Any suggestions would be most useful at that time I tried registry fixes, changes to "memory could not be read error" but that does not help that I found on this forum.

    Thank you!

    -Troy

    Hi Troy,

    I see that you have completed the major part of the basis of troubleshooting.

    Please contact support for more advanced troubleshooting.

    Contact the customer service

    Kind regards
    Rave

  • 4EA3 monitor Sessions explain plan fails with ORA - 00904 SP. CHILD_ADDRESS is not a valid identifier.

    I'm running 64 Bit Windows JDK 7 connecting to Oracle DB 10.1.0.5.0. Access the Plan to explain in the tool monitor Sessions tab causes the error. This has been true in all 4. releases.

    Copy of the report of sessions monitor down to a user defined report, check out the SQL used in the Plan to explain tab and try to run in your 10.1.0.5 database. We do not support this version of the database, but you can change to the sql in your report defined by the user to work for this instance if necessary.

  • I get this error "sec_error_ocsp_bad_http_response" on several sites with FF 6.0.2 and prior versions, but do not get the error with IE.

    I get this error on several sites, it's the latest on what he has just come. I got it by trying to sign on this page.
    I am able to connect using IE 9, Windows 7 Enterprise.

    What is the definition of OCSP?

    • Tools > Options > advanced > encryption: Certificates > Validation
  • USB not recognized device error with the Logitech Wireless Mouse

    Greetings, Im having trouble getting my recognized usb wireless receiver. Worked fine on Vista premium edition... recently updgraded to windows 7 do not work now? I tried Device Manager to scan for hardware changes... no luck. I tried the Drivers but logitech claims it is compatible with windows 7 and you don't need all drivers... would appreciate any help!

    Thank you
    Stem

    I also had this problem, but finally found a solution. You need to reset the motherboard. It is more than a simple reset of the computer as the motherboard continues to feed into "stop".  You must turn off the system and unplug a few minuets.  In the case of my laptop, I also removed the dough for good measure.  Then I turned it back and the mouse worked without trouble or the same recognition that there had never been a problem.

    Credit when it is earned, I found the solution here http://www.online-tech-tips.com/computer-tips/usb-device-not-recognized/

  • Search and apply reception error: ORA-00904: "ON_ACCT_PO_NUM": not valid

    Hello

    We get an error when you try to apply revenues, ORA-00904: "ON_ACCT_PO_NUM": invalid identifier. Found some Metalink:

    Find and apply functionality Arxrwmai filled with ORA-00904: error "ON_ACCT_PO_NUM" [388202.1 ID]
    ARXRWMAI: ORA-00904: "On_acct_po_num": invalid identifier, applying the reception [564612.1 ID]
    ARP_PROCESS_APPLICATION is not valid - PLS-00302: component 'ON_ACCT_CUST_ID' must be declared [577194.1 ID]

    Basically all suggest that the columns (IE ON_ACCT_PO_NUM) are missing in AR_RECEIVABLE_APPLICATIONS. Check these tables and columns are actually there, however, I ran SQL > @$AR_TOP/patch/115/sql/arvrrapp.sql (the version is 115.26.15104.3). And re-tested, always a problem. Audit to verify what patches have been applied recently that could cause this.

    RDBMS: 11.2.0.1.0
    Oracle Applications: 11.5.10.2

    Thank you
    -Steve

    Hi steve;

    Check use select * ad_bugs and check patch that applied using the applied date column

    * PS: patch 5359197 is exist on your server that is mentioned on the research and apply feature Arxrwmai ends with ORA-00904: error "ON_ACCT_PO_NUM" [388202.1 ID] *.

    Respect of
    HELIOS

  • ORA-00904 on CREATE TABLE with a virtual column based on the XMLTYPE content

    Hello

    This is another one for the gurus of the syntax...

    Try the following, fails with ORA-00904: "MESSAGE". "' GETROOTELEMENT": invalid identifier
    CREATE TABLE XML_TEST_VIRT
      (
       MSG_TYPE         GENERATED ALWAYS AS (MESSAGE.GETROOTELEMENT()) VIRTUAL,
       MESSAGE  XMLTYPE             NOT     NULL,
       IE906    XMLTYPE             DEFAULT NULL
      )
       XMLTYPE COLUMN MESSAGE STORE AS SECUREFILE BINARY XML
       XMLTYPE COLUMN IE906   STORE AS SECUREFILE BINARY XML
    /
    While it succeeds
    CREATE TABLE XML_TEST_VIRT
      (
       MSG_TYPE         GENERATED ALWAYS AS (EXTRACT(MESSAGE, '/*').GETROOTELEMENT()) VIRTUAL,
       MESSAGE  XMLTYPE             NOT     NULL,
       IE906    XMLTYPE             DEFAULT NULL
      )
       XMLTYPE COLUMN MESSAGE STORE AS SECUREFILE BINARY XML
       XMLTYPE COLUMN IE906   STORE AS SECUREFILE BINARY XML
    /
    The GETROOTELEMENT from SYS member function. XMLTYPE is stated as "PARALLEL_ENABLE DETERMINISTIC" the method called is not the problem, as evidenced by the 2nd case.
    Using the MESSAGE column that is of type XMLTYPE directly seems to be the problem. But the question is "why." The result of the EXTRACT function is of type XMLTYPE and call his works of members, the column is also of type XMLTYPE still call its members fails...

    Thanks in advance for any ideas on that.

    Best regards
    Philippe

    Going on the means to go far, far back.

    2003 re: function getRootElement ORA-00904

  • ORA 00904: invalid identifier "JAN".

    Hello

    I have the rest of the table.

    ===========================================

    create table ATT_ATTENDANCESHEET as

    (

    Select 1 empid, to_date('21/01/2014','dd/mm/yyyy') prdate, 240 reg, 0 unpaid all double union

    Select 2, to_date (January 21, 2014 ', ' dd/mm/yyyy'), 200 reg, 0 unpaid all double union

    Select 3, to_date (January 21, 2014 ', ' dd/mm/yyyy'), 240 reg, 0 unpaid all double union

    Select option 4, to_date (January 21, 2014 ', ' dd/mm/yyyy'), 480 reg, 0 unpaid all double union

    Select 5, to_date (January 21, 2014 ', ' dd/mm/yyyy'), 240 reg, unpaid double 0

    );

    =================================================

    I want to remove rows from table ATT_ATTENDANCESHEET.

    If the parameter passed empids, lines for employees would be eliminated.

    If empids is null, all records between the given period will be deleted.

    I created after the procedure to that effect.

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

    CREATE or replace FUNCTION deleteAttendanceDetails (startdate DATE, enddate DATE, empids varchar2) RETURN NUMBER as


    n number;

    condition varchar2 (200);

    vsql varchar2 (2000);

    BEGIN

    IF empids is not null

    THEN

    condition: condition = |' and empid in ('| empids |') ' ;

    END IF;

    vsql: =' delete from ATT_ATTENDANCESHEET where prdate between ' | StartDate | 'and' | EndDate | condition;

    EXECUTE IMMEDIATE (vsql);

    return n;

    END;

    /

    The empids parameter contains the employee IDS separated by commas.

    for example

    "1,2,3,4"

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

    But when I call this function using

    Select deleteAttendanceDetails (to_date('25/01/2014','dd/mm/yyyy'), to_date (' 01/31/2014 ',' dd/mm/yyyy'), ") double;

    I get the following error

    ORA 00904: invalid identifier "JAN".

    ORA-06512: at.. .line 21

    I use oracle 10g.

    Help, please

    Do not use dynamic sql. It's more trouble that it's worth.

    Your error comes from the fact that you convert a date to a string, implicitly and then come back.

    In addition, your example doesn't have a field of prddate... so I added that, in my test table so that it works.

    Try something like that, entirely avoid dynamic sql:

    CREATE or replace FUNCTION deleteAttendanceDetails (
                                  startdate DATE,
                                  enddate DATE,
                                  empids varchar2
                               )
       RETURN NUMBER
    as
       n number;
    BEGIN
       delete from ATT_ATTENDANCESHEET
          where ( empid IS NULL
                OR empid in ( select regexp_substr ( empids, '[^,]+', 1, level) empid
                             from dual connect by level <= (LENGTH(empids) - LENGTH(REPLACE(empids, ',')) + 1)
                          )
                )
            and prdate between nvl(startdate, to_date('01-jan-1900','dd-mon-yyyy'))
                           and nvl(enddate  , to_date('01-jan-5000','dd-mon-yyyy'));
    
      return n;  -- what is "n" ?
    END;
    /
    

    Not really sure what you want to do with "n"... you have nothing in your code... so I did the same

  • ORA-00904 when you select a nested table column

    Hello

    I use a table with the following description:

    SQL > desc muenzen
    Name Null? Typ
    ------------------------------- -------- ----------------------------

    1 MUENZ_ID NOT NULL NUMBER
    2 MUENZ_TEXT NOT NULL VARCHAR2 (200 CHAR)
    3 MUENZ_BESCHREIBUNG CLOB
    MUENZ_BILD 4 MUENZ_BILDER_TAB
    MUENZ_BILDER ist NO FINAL
    5 4 NUMMER NUMBER
    6 4 BILD BLOB

    METHOD
    ------
    MEMBER FUNCTION BILD_SUCHEN RETURNS THE BLOB
    Argument name Typ/output Defaultwert?
    ------------------------------ ----------------------- ------ --------
    NUMMER NUMBER IN
    BILD BLOB IN
    7 MUENZ_ERSTELLER NOT NULL VARCHAR2 (30 CHAR)
    8 MUENZ_ERSTELL_DATUM NOT NULL DATE
    9 MUENZ_AENDERER VARCHAR2 (30 CHAR)
    DATE OF MUENZ_AEND_DATUM 10

    I use the folling SELECT statement: select muenz_id, muenz_text, MUENZE. MUENZ_BILDER_TAB (MUENZE. MUENZ_BILDER. Nummer) of muenzen; and got the error:

    ORA-00904: "MUENZE. "" "" MUENZ_BILDER '. "" NUMMER": ungultiger Bezeichner

    00904, 00000 - '% s: invalid identifier '.

    * Cause:

    * Action:

    What ist the right identifier?

    Please help me

    Concerning

    Siegwin

    Hello siegwin.port

    I corrected the tablenames.

  • ORA-00904: "YYYY": invalid identifier using impdp

    Hello

    I am trying to import a part of a table to another table on the remote database using impdp:

    Impdp directory of centrumadmin/centrumadmin = network_link DUMP_LOG_DIRECTORY LOGFILE = backup_2014_01.log = REF2ISKNE = 'AUD$ _BACKUP' content TABLES = QUERY DATA_ONLY =------"WHERE \" NTIMESTAMP # "> to_date\ (January 2, 2014","DD-MM-YYYY '------") "------"; "

    But still get this error:

    Start "CENTRUMADMIN". "' SYS_IMPORT_TABLE_01 ': centrumadmin / * directory = network_link DUMP_LOG_DIRECTORY LOGFILE = backup_2014_01.log = REF2ISKNE TABLES = AUD$ happy _BACKUP = DATA_ONLY QUERY =" WHERE NTIMESTAMP # > to_date (02-2014, MM-YYYY) ""

    Current estimation using BLOCKS method...

    Processing object type TABLE_EXPORT/TABLE/TABLE_DATA

    Total estimation using BLOCKS method: 4,473 GB

    ORA-31693: Data Table object 'CENTRUMADMIN '. "" AUD$ _BACKUP "could not load/unload and being ignored because of the error:

    ORA-00904: "YYYY": invalid identifier

    Work "CENTRUMADMIN". "" SYS_IMPORT_TABLE_01 "completed with error (s 1) to Wed Feb 11 09:32:15 2015 elapsed 0 00:00:03

    Any ideas? If I change the date format YYYY-MM-DD or the other, always error is in the last part: ORA-00904: "DD": invalid identifier.

    Thank you.

    Honza

    Hi Mika,

    have you played around with some double 'or triple?

    as

    to_date\ ("02/01/2014","DD-MM-YYYY"------)-«;»

    concerning

    Kay

  • The rights of the applicant, change of context (PL/SQL-&gt; SQL-&gt; PL/SQL) and ORA-00904

    Hello

    I'm doing a validation test of principle with regard to the rights of the applicant. I created 2 diagrams of Test (DEFINER1 and INVOKER1) for the same thing. When I call a procedure in the Invoker1 Definer1 and the procedure has, in turn, a SQL statement inside that a PL/SQL function calls, so he get ORA-00904 "" is not a valid identifier. All procedures/packages in the scheme of Definer1 are created as the rights of the applicant. Simplified script below for the same, kindly let me know if I make a mistake, it's the expected behavior, or miss me something.

    set line 10000

    Set feedback off

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

    QUICK problem: error ORA-00904: "object name": invalid identifier

    CALLS while the use of the appellant's rights, procedure call PL/SQL that has a SQL that calls a PL/SQL function.

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

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

    GUEST

    GUEST

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

    Creating patterns DEFINER1 and INVOKER1 QUICK...

    GUEST

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

    CREATE DEFINER1 USER IDENTIFIED BY DEFINER1

    TEMPORARY TEMP TABLESPACE

    /

    GRANT CREATE SESSION TO DEFINER1

    /

    GRANT CREATE PROCEDURE FOR DEFINER1

    /

    CREATE INVOKER1 USER IDENTIFIED BY INVOKER1

    TEMPORARY TEMP TABLESPACE

    /

    GRANT CREATE SESSION TO INVOKER1

    /

    GRANT CREATE PROCEDURE FOR INVOKER1

    /

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

    GUEST will now connect to the DEFINER1 schema...

    GUEST

    CONNECT DEFINER1/DEFINER1

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

    Creating QUICK package (with rights of Summoners) with 2 functions simple (one with PRAGMA RESTRICT_REFERENCES another without him.)...

    GUEST

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

    CREATE or REPLACE PACKAGE global_pkg

    AUTHID CURRENT_USER

    AS

    FUNCTION add2 (NUMBER of p1

    NUMBER of p2

    )

    RETURN NUMBER;

    FUNCTION add2_rr (NUMBER of p1

    NUMBER of p2

    )

    RETURN NUMBER;

    PRAGMA RESTRICT_REFERENCES (add2_rr, WNDS, WNPS, NSOR, RNP);

    END global_pkg;

    /

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

    CREATE OR REPLACE PACKAGE BODY GLOBAL_PKG

    AS

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

    FUNCTION add2 (NUMBER of p1

    NUMBER of p2

    )

    RETURN NUMBER

    IS

    BEGIN

    RETURN (p1 + p2);

    END add2;

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

    FUNCTION add2_rr (NUMBER of p1

    NUMBER of p2

    )

    RETURN NUMBER

    IS

    BEGIN

    RETURN (p1 + p2);

    END add2_rr;

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

    END global_pkg;

    /

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

    ENCOURAGE creating stand-alone simple function (with rights of Summoners)...

    GUEST

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

    FUNCTION to CREATE or REPLACE add2 (NUMBER of p1

    NUMBER of p2

    )

    RETURN NUMBER

    AUTHID CURRENT_USER

    IS

    BEGIN

    RETURN (p1 + p2);

    END ADD2;

    /

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

    PROMPT creation of procedure (with rights of Summoners) who calls the Package and functions...

    GUEST

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

    CREATE OR REPLACE PROCEDURE pr_tester

    AUTHID CURRENT_USER

    IS

    l_num NUMBER (2);

    BEGIN

    dbms_output.put_line (1 + 1 = ' | global_pkg.add2_rr (1,1));

    BEGIN

    SELECT global_pkg.add2_rr (1.1)

    IN l_num

    FROM DUAL;

    dbms_output.put_line ('worked..');

    EXCEPTION

    WHILE OTHERS

    THEN

    dbms_output.put_line ('global_pkg.add2_rr wo' |) SQLERRM);

    END;

    dbms_output.put_line (1 + 1 = ' | global_pkg.) ADD2 (1,1));

    BEGIN

    SELECT global_pkg.add2 (1.1)

    IN l_num

    FROM DUAL;

    dbms_output.put_line ('worked..');

    EXCEPTION

    WHILE OTHERS

    THEN

    dbms_output.put_line ('global_pkg.add2 wo' |) SQLERRM);

    END;

    dbms_output.put_line (1 + 1 = ' |) ADD2 (1,1));

    BEGIN

    SELECT add2 (1.1)

    IN l_num

    FROM DUAL;

    dbms_output.put_line ('worked..');

    EXCEPTION

    WHILE OTHERS

    THEN

    dbms_output.put_line ('add2 wo' |) SQLERRM);

    END;

    END;

    /

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

    Grant QUICK overlooking the procedure to INVOKER1 scheme...

    GUEST

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

    GRANT EXECUTE ON pr_tester TO invoker1

    /

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

    Test QUICK 1: Define schema works...

    GUEST

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

    SET SERVEROUTPUT ON

    BEGIN

    pr_tester;

    END;

    /

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

    GUEST

    GUEST

    GUEST

    GUEST will now connect to the INVOKER1 schema...

    GUEST

    CONNECT INVOKER1/INVOKER1

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

    Test FAST 2: Fails with ORA - 00904 define schema

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

    SET SERVEROUTPUT ON

    BEGIN

    definer1.pr_tester;

    END;

    /

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

    GUEST

    GUEST

    GUEST

    INVITE to drop the two schemas, enter the password for the sys

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

    CONNECT SYS AS SYSDBA

    DROP USER CASCADE DEFINER1

    /

    DROP USER INVOKER1

    /

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

    GUEST

    GUEST has dropped to users...

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

    Thank you

    Marie.

    Basically, you know the answer...

    Why you call procedure Tester pr_tester with the name of schema prefix (definer1.pr_tester) during his call of the schema of the invoker?

    Now... Imagine the following query runs under the scheme of the appellant:

    SELECT global_pkg.add2_rr (1.1)

    IN l_num

    FROM DUAL;

    the schema of the invoker 'knows' global_pkg?

    HTH

  • ORA-00904: "RENEWED_FD." "' OLD_FDR_NO ': invalid identifier...... HOW table TO INSERT SEVERAL ROWS of ONE TABLE to ANOTHER.

    Hi all

    I have two tables RENEWED_FD and KEC_FDACCT_MSTR.

    In the RENEWED_FD table, there are columns namely OLD_FDR_NO, ACCT_CUST_CODE, ACCT_TYPE, QUANTITY.

    In the KEC_FDACCT_MSTR table, there are columns namely ACCT_FD_NO, ACCT_CUST_CODE, ACCT_TYPE, QUANTITY.

    In the RENEWED_FD table, OLD_FDR_NO is present and rest all columns are empty, so I want to insert all other values of column in table KEC_FDACCT_MSTR

    where RENEWED_FD. OLD_FDR_NO = KEC_FDACCT_MSTR. ACCT_FD_NO.

    How to do this in Toad for ORACLE FORMS 6i or Oracle?

    Help me

    Thank you.

    Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production


    I tried with the following code:

    Code:

    INSERT INTO RENEWED_FD

    (ACCT_CUST_CODE, ACCT_TYPE, SUM)

    SELECT ACCT_CUST_CODE, ACCT_TYPE, AMOUNT

    OF KEC_FDACCT_MSTR

    WHERE RENEWED_FD. OLD_FDR_NO = KEC_FDACCT_MSTR. ACCT_FD_NO;

    But I got this error:

    ORA-00904: "RENEWED_FD." "" OLD_FDR_NO ": invalid identifier

    Oh, you're on 9i db. In 9i the MATCHED and UNMATCHED aren't optional, and you must use both. FUSION has evolved through time, and it's a shame that you cannot make the most out of it because of your version.

    You use better UPDATE statement then.

    update of renewed_fd one

    Set)

    a.acct_cust_code

    a.acct_type

    a.amount

    ) =

    (

    Select b.acct_cust_code

    b.acct_type

    b.amount

    of kec_fdacct_mstr b

    where a.old_fdr_no = b.acct_fd_no

    )

    where

    There are)

    Select null

    of kec_fdacct_mstr b

    where a.old_fdr_no = b.acct_fd_no

    )

  • ORA-00904: "OCT": invalid identifier

    Hi all

    I serve immediate execulte to create a table as below

    SQL_STR: = ' create table test_archive in select * from test_one where date_key between ' TO_DATE(20121001,'YYYYMMDD') |' and ' | TO_DATE(20121002,'YYYYMMDD');
    run immediately SQL_STR;

    I am getting error below.

    Eexeduting the varSqlstmt.
    Error CODE: ORA-00904: "OCT": invalid identifier

    and it has generated the request as below,

    create the table test_archive in select * from test_one where
    date_key between 1st October 12 and October 3, 12

    My requirement is instead of 'OCT', there on-screen as "10".

    Note: date_key column date datatype.

    Please someone help me in this.

    Thank you
    Sree

    youre not to quote your string correctly either. Use single quotes 4 to wrap where you need a quote in your chain of... for example...

    SQL_STR: = ' create table test_archive in select * from test_one where date_key between TO_DATE (|) '''' || "' 20121001," | '''' || "(AAAAMMJJ || ''' || ') |"

    Edit: Sorry, you get the gist... 4 apostrophes in a dynamic string you give 1 quote. I have not tested the above, so its so probably wrong but the use of this formula and you will get it

Maybe you are looking for

  • Where are my keynote themes in El Capitan?

    I wanted to add a great new free theme, but could not find the folder for my Keynote themes in El Capitan.

  • Call in reference to replacement VI

    I'm doing a VI dynamically a reshipment that accesses a property in a class with name. (see attachment) The idea was to use 'call of reference' for the property required to call the correct data VI member access. The CBR does not preserve the dynamic

  • I NEED A GENIUS OR BILL GATES TO HELP ME...

    I CAN INSTALL MICROSOFT DIGITAL IMAGE SUITE 2006 IN MY PC... I HAVE TRIED EVERYTHING AND WINDOWS CANNOT RUN OR OPEN FOR ME.ALWAYS APPEARS a WINDOW WITH the MESSAGE "Digital Image Module detects a problem and needs to close"I tried to download from th

  • You have any guildline on how to stick an OEM sticker on the desktop

    I need a few guildeline on how to stick an OEM sticker in the right place on the desktop in which compliance with the standard of Microsoft. Help, please. Preference to have some photos for reference.

  • Can not join the domain of the Hyper-V virtualized system

    Hello!I have a domain controller active directory (adserver) in my ws12 network, and I have another physical server (server) also runs ws12 who is able to join the domain, but the virtualized systems can not.DNS and other settings are ok (identical t