ORA-30563, Outer Join not allowed in select list

I can not find any information about this error message that I am getting.
I have just upgraded my Oracle database from Version 7.3 to Version 8.1.7, a stored procedure that was written in v7.3 has outer joins in the select statement.
when trying to run this proc in version 8 I get this meesage.(ORA-30563, Outer Join not allowed in select list)
code ex:
Select alt.id
decode(alt.advise, NULL, NULL, AA.act_yr(+))||'-'||AA.act_per(+)||'-'||AA.Acc_per_no(+)) as advise_no
from alt, AA;
Is there any information about this message anywhere? or does anybody know if this is a known issue with oracle ver 8.1.7?
Thanks
CJ

It appears to have been a bug in 7.x
From a metalink note on bugs fixed in 8i (doc 132632.1)
974742 Oracle does not report an error if (+) is specified in select-list. The OUTER JOIN operator (+) is only valid in WHERE clause predicates. As this is not flagged as an error the query can give unexpected results. The correct action to avoid this problem is to fix the query.
Ken

Similar Messages

  • Outer Join problems - "ORA-30563 outer join operator (+) not allowed in select-list"

    Products: Discoverer 4.1.33.0.2
    (Admin and User/Plus)
    8i EE 8.1.7 (Discoverer server)
    8i EE 8.1.5 ('source data' server)
    Background assumptions: (1) If a column from an "outer-joined" table is compared to a constant, the outer join operator must be applied to that column in order for the outer join to work. (2) A 'Condition' specified in Discoverer User/Plus manifests as a comparison to a constant.
    I created a join in Admin between two folders, selected 'outer join on detail' option. In User/Plus, created worksheet containing columns from the joined folders. When no Conditions are NOT specified, results seem ok. However, when Condition IS added, worksheet encounters "ORA-30563 outer join operator (+) not allowed in select-list" and returns blank sheet.
    To workaround, created Custom folder with outer join in place. Didn't work either with Conditions specified. No error, but I think that because Discoverer did not 'outer join' the Condition column, the outer join was ignored.
    Any insights, ideas, or workarounds are much appreciated.
    -Jim

    If you build a query that uses an outer join then any items from the potentially deficient side of the join will have (+) appended to them everywhere in the sql. Up until 8.1.7 this was OK in the select list as it was just treated as noise and ignored - However this now fails with ORA-30563:
    outer join operator (+) not allowed in select-list...
    In 4.1.33.1.6 you get the error 'ORA-30563 outer join operator(+) not allowed in select list'.
    In 4.1.36.1.10 the query runs OK.. Your work around I would guess would be to create a custom folder as you suggested.

  • ORA-01719: outer join operator (+) not allowed in operand of OR or IN

    I am getting the following Error when I tried to execute my Query.
    Error : ORA-01719: outer join operator (+) not allowed in operand of OR or IN
    select unique t.estblmt_src_typ_id as estblmt_src_typ_id,
    t.name as name from estblmt_src_typ t, src_estblmt_unknown_data u, estblmt_src eSrc, estblmt e,
    additional_addr aa, country c, src_country_state_region scsr
    where
    (t.estblmt_src_typ_id=u.estblmt_src_typ_id and
    e.state_region_id=scsr.state_region_id and
    upper(scsr.code1)='UNKNOWN' and
    u.processed_ind = 'N' and
    eSrc.Estblmt_Alt_Id = u.estblmt_alt_id and
    u.estblmt_src_typ_id = eSrc.estblmt_src_typ_id and
    eSrc.Estblmt_Id = e.estblmt_id and
    e.country_id = c.country_id and
    u.estblmt_element = 'State Region' and
    scsr.estblmt_src_typ_id = u.estblmt_src_typ_id and
    aa.estblmt_id(+)=e.estblmt_id and
    e.end_dt is null) or
    (t.estblmt_src_typ_id=u.estblmt_src_typ_id and
    aa.state_region_id=scsr.state_region_id and
    upper(scsr.code1)='UNKNOWN' and u.processed_ind = 'N' and
    eSrc.Estblmt_Alt_Id = u.estblmt_alt_id and
    u.estblmt_src_typ_id = eSrc.estblmt_src_typ_id and
    eSrc.Estblmt_Id = aa.estblmt_id and aa.country_id = c.country_id and (u.estblmt_element = 'Additional State Code' or u.estblmt_element = 'Additional State Province') and scsr.estblmt_src_typ_id = u.estblmt_src_typ_id
    and aa.estblmt_id=e.estblmt_id and e.end_dt is null) order by t.name

    First, is this query being executed within Apex or at the SQL prompt or in SQL Workshop, or something else? Some context of where it's being executed may help.
    Next, that's a query from hell. How about rewrting it to use ANSI join syntax instead, so it'a bit more readable?
    A quick example for part of it would be:
    FROM (additional_addr aa LEFT OUTER JOIN estblmt e ON aa.estblmt_id = e.estblmt_id )
    etc.
    Just add additional parenthesis for each additional table join, similar to:
    FROM ((additional_addr aa LEFT OUTER JOIN estblmt e ON aa.estblmt_id = e.estblmt_id )
    LEFT OUTER JOIN src_country_state_region scsr ON aa.state_region_id = scsr.state_region_id )
    In the long run it will make the query a bit more legible, so your where clause only lists the query conditions, not the join conditions. Then it becomes easier to quickly glance at it and see where potential problems may be.
    Bill Ferguson

  • Upon startup, restore windows... window is flashing with finder icon popping in and out of dock. computer will not allow any selection. What should I do?

    On my 2009 Mac Pro, 10.7.5 upon startup, restore windows... window is flashing with finder icon popping in and out of dock. computer will not allow any selection. I'm hoping someone may know a solution.

    http://www.apple.com/support/lion/installrecovery/
    http://support.apple.com/kb/HT4718
    https://support.apple.com/kb/DL1433
    http://reviews.cnet.com/8301-13727_7-20081109-263/recovery-options-for-macs-runn ing-os-x-lion/
    https://www.apple.com/macosx/recovery/
    http://support.apple.com/kb/HT4848

  • ORA-01733- virtual column not allowed here  - Insert using inline view

    Does anyone know why I am getting ORA-01733- virtual column not allowed here
    SQL> select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
    PL/SQL Release 11.1.0.6.0 - Production
    CORE 11.1.0.6.0 Production
    TNS for 32-bit Windows: Version 11.1.0.6.0 - Production
    NLSRTL Version 11.1.0.6.0 - Production
    ---no error without WITH CHECK option
    SQL> INSERT INTO
    2 (SELECT
    3 location_id,
    4 city,
    5 l.country_id
    6 FROM countries c, locations l,regions r
    7 where l.country_id = c.country_id
    8 and r.region_id=c.region_id
    9 and r.region_name = 'Asia')
    10 VALUES (5500, 'Wansdworth Common', 'UK');
    1 row created.
    SQL> rollback;
    Rollback complete.
    -----error with WITH CHECK OPTION
    SQL> INSERT INTO
    2 (SELECT
    3 location_id,
    4 city,
    5 l.country_id
    6 FROM countries c, locations l,regions r
    7 where l.country_id = c.country_id
    8 and r.region_id=c.region_id
    9 and r.region_name = 'Asia' WITH CHECK OPTION)
    10 VALUES (5500, 'Wansdworth Common', 'UK');
    INSERT INTO
    ERROR at line 1:
    ORA-01733: virtual column not allowed here
    I was expecting
    ORA-01402: view WITH CHECK OPTION where-clause violation
    for the second one. Is there anything I am missing here ?

    Randolf
    Thank you very much for the update to this old question
    After reading the link I think I should ignore this error and accept it as ORA-01402
    The information you asked me to check did not lead me an understanding of different error types.
    SQL> ----view for ORA-01733
    SQL> create view test_v_1
      2  as
      3  SELECT
      4  location_id,
      5  city,
      6  l.country_id
      7  FROM countries c, locations l,regions r
      8  where l.country_id = c.country_id
      9  and r.region_id=c.region_id
    10  and r.region_name = 'Asia' WITH CHECK OPTION;
    View created.
    SQL>
    SQL>
    SQL>
    SQL> select * from user_updatable_columns where table_name='TEST_V_1';
    OWNER                          TABLE_NAME                     COLUMN_NAME                    UPD INS DEL
    HR                             TEST_V_1                       CITY                           YES YES YES
    HR                             TEST_V_1                       COUNTRY_ID                     NO  NO  NO
    HR                             TEST_V_1                       LOCATION_ID                    YES YES YES
    SQL>
    SQL> ----view for ORA-01402
    SQL>
    SQL> create view test_v_2
      2  as
      3  SELECT
      4  d.department_id,
      5  d.department_name,
      6  d.location_id
      7  FROM hr.departments d,hr.locations l
      8  WHERE l.location_id=d.location_id
      9  and d.location_id < 2000
    10  WITH CHECK OPTION;
    View created.
    SQL>
    SQL> select * from user_updatable_columns where table_name='TEST_V_2';
    OWNER                          TABLE_NAME                     COLUMN_NAME                    UPD INS DEL
    HR                             TEST_V_2                       DEPARTMENT_ID                  YES YES YES
    HR                             TEST_V_2                       DEPARTMENT_NAME                YES YES YES
    HR                             TEST_V_2                       LOCATION_ID                    NO  NO  NO
    SQL>
    SQL>
    SQL> ----INSERT STILL FAILING WITH DIFFERENT ERROR DESPITE THE SAME UPDATABLE COLUMN STRUCTURE
    SQL> insert into test_v_1 values  (5500, 'Wansdworth Common', 'UK');
    insert into test_v_1 values  (5500, 'Wansdworth Common', 'UK')
    ERROR at line 1:
    ORA-01733: virtual column not allowed here
    SQL> insert into test_v_2 values  (9999, 'Entertainment', 2500);
    insert into test_v_2 values  (9999, 'Entertainment', 2500)
    ERROR at line 1:
    ORA-01402: view WITH CHECK OPTION where-clause violation
    SQL>A. Coskan GUNDOGAR
    Oracle DBA
    http://coskan.wordpress.com
    “A man's errors are his portals of discovery.”
    James Joyce

  • 10.8 - image capture - "import to" does not allow to select a program

    Hi,
    after updating to 10.8 I was hoping that my problem with 10.7.4 and Image Capture would be solved but it persist and additionaly has removed all my setings.
    When Image Capture shows the pictures of my iPhone I select some pictures and go to "Import To Other".
    That will open the "Open" dialog with all Programs/Applications on my Mac, but all Programs/Applications are grayed out.
    Until 10.7.3 one was able to select any program to send the pictures to it like Evernote, ExifRenamer, etc.
    Anyone else has the same issue?
    Regards, Carsten
    10.7.4 - image capture - "import to" does not allow to select a program

    There is a work-around availbale now in the other thread.
    10.7.4 - image capture - "import to" does not allow to select a program

  • Received ORA-22818 subquery expressions not allowed here when creating mate

    Hello,
    I was trying to create a materialized view to describe the referential integrity between the tables in my schema:
    create materialized view user_references
    tablespace tbspc
    build immediate
    using index
    refresh complete on demand next sysdate + 1
    as
    select uic.table_name to_table, uic.column_name to_column,
    ucc.table_name from_table, ucc.column_name from_column
    from user_ind_columns uic, user_constraints uc, user_cons_columns ucc
    where uic.index_name = uc.r_constraint_name
    and uc.constraint_name = ucc.constraint_name
    and uc.owner=upper('my_schema');
    I was able to create this MV in Oracle 9.2. It failed with the following error when I ran it against Oracle 10.1:
    from user_ind_columns uic, user_constraints uc, user_cons_columns ucc
    ERROR at line 9:
    ORA-22818: subquery expressions not allowed here
    Is not allowing subqueries in MV a new restriction in Oracle 10? Is there a workaround?
    Thanks

    Hello
    This may be a bug in your version as I can do it successfully on 10.2
    tylerd@DEV2> create materialized view user_references
      2  build immediate
      3  using index
      4  refresh complete on demand next sysdate + 1
      5  as
      6  select uic.table_name to_table, uic.column_name to_column,
      7  ucc.table_name from_table, ucc.column_name from_column
      8  from user_ind_columns uic, user_constraints uc, user_cons_columns ucc
      9  where uic.index_name = uc.r_constraint_name
    10  and uc.constraint_name = ucc.constraint_name
    11  and uc.owner=upper('my_schema');
    Materialized view created.
    tylerd@DEV2> select * from v$version
      2  /
    BANNER
    Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Prod
    PL/SQL Release 10.2.0.2.0 - Production
    CORE    10.2.0.2.0      Production
    TNS for 32-bit Windows: Version 10.2.0.2.0 - Production
    NLSRTL Version 10.2.0.2.0 - Production
    5 rows selected.HTH
    David

  • Java.sql.BatchUpdateException: ORA-01027: bind variables not allowed for da

    Hi guys, I m facing a problem while executing below query .Query is working fine in toad i don't know what is the issue with the code
    <code>
    String url3 = "CREATE OR REPLACE VIEW Table2(PERIOD, YEARS, COST_CENTRE, S_DIR_PERM, S_DIR_CONT, S_INDIR_PERM, S_INDIR_CONT, O_DIR_PERM, O_DIR_CONT, O_INDIR_PERM, O_INDIR_CONT)AS select period, year, cost_center, sum(s_dir_perm), sum(s_dir_cont), sum(s_indir_perm), sum(s_indir_cont), sum(o_dir_perm), sum(o_dir_cont), sum(o_indir_perm), sum(o_indir_cont) from ( select b.period, b.year, a.cost_center, sum(a.perm_dir_hc) as s_dir_perm, sum(a.contract_dir_hc) as s_dir_cont, sum(a.perm_indir_hc) as s_indir_perm, sum(a.contract_indir_hc) as s_indir_cont, 0 as o_dir_perm, 0 as o_dir_cont, 0 as o_indir_perm, 0 as o_indir_cont from ZVHR_ACT_HC_ASOF_FISPRD a, pertable b where to_char(as_of_date, 'mm/dd/yyyy') = b.ENDPERIOD and shift not in ('G','N','O2','O7') and b.endperiod = ? group by b.period, b.year, a.cost_center union select b.period, b.year, a.cost_center, 0 as s_dir_perm, 0 as s_dir_cont, 0 as s_indir_perm, 0 as s_indir_cont, sum(a.perm_dir_hc) as o_dir_perm, sum(a.contract_dir_hc) as o_dir_cont, sum(a.perm_indir_hc) as o_indir_perm, sum(a.contract_indir_hc) as o_indir_cont from ZVHR_ACT_HC_ASOF_FISPRD a, pertable b where to_char(as_of_date, 'mm/dd/yyyy') = b.ENDPERIOD and shift in ('G','N','O2','O7') and b.endperiod = ? group by b.period, b.year, a.cost_center) group by period, year, cost_center";
    PreparedStatement statement3 = connection.prepareStatement(url3);
    statement3.setString(1, "12/10/2008");
    statement3.setString(2, "12/10/2008");
    statement3.addBatch();
    statement3.executeBatch();
    </code>
    i m getting the following error
    java.sql.BatchUpdateException: ORA-01027: bind variables not allowed for data definition operations
    can any1 help me with this.

    Can you explain what you are trying to do from a business perspective?
    If you are creating a view, it doesn't make sense to pass bind variables to that DDL statement. The view definition itself is going to have to end up with hard coded date values there. So what possible benefit is there to using bind variables?
    As an aside, if you are using bind variables and you have DATE columns, you really want to pass in the proper data type (i.e. setDate or setTimestamp rather than setString). Otherwise, Oracle has to do implicit string to date conversion, which depends on the session's NLS settings, which is likely to be different on different client machines and lead to all sorts of odd errors and behaviors down the line.
    Are you trying to build a view that takes parameters? If so, there are a few options for that sort of thing.
    Justin

  • Restrict the user should not allow to select No Excise entry tab in MIGO

    Hi
    how to restrict the user should not allow to select No Excise entry tab in MIGO
    if the material Excisable user can bale to select the No Excise entry tab in MIGO . my requirement .... if the Pop come Please enter Excise Invoice number and Excise Invoice Date user should not change the No Excise how to restrict pls advise me
    @sakhi

    These are the options provided by SAP keeping in mind Indian Scenario. Sometimes, vendor forget to send excise invoice copy with the material, in such case, you can select 'Only Part I'.
    Even if you have maintain vendor excise details & material excise details (By mistake) in J1ID, system will throw an error message, excise invoice value is zero. In such case, we can select option 'No excise entry'.
    Your requirement can't be fulfilled in standard way. Even if you go for any Z- developement, you will lose the option.

  • LOV in @prompt not allowing multi selections

    Post Author: johnson77
    CA Forum: Desktop Intelligence Reporting
    @Select(Expense Report Line Items\ERL Expense Category)  IN  ( @prompt('Select Category(s) from list or key in % for All Categories','A','Expense Types\Expense Category',Mutli,free)  )or '%' IN ( @prompt('Select Category(s) from list or key in % for All Categories','A','Expense Types\Expense Category',Mutli,free)  )
    Issue #1, The above prompt is NOT allowing multi selections from the list.  (in desktop or webi versions)  
    Issue #2, The above prompt allows for all selection by using the % which works on desktop version, but not  Webi.
    Any clues to why on either of these issues. 
    BusinessObjects 6.5  

    Post Author: GregPye
    CA Forum: Desktop Intelligence Reporting
    Hi
    If the code above was pasted from the code that actually runs, then I would suggest it could be because you have spelt "multi" incorrectly... not sure if DeskI would through that up as an error, or just ignore it!

  • ORA-02253: constraint specification not allowed here

    I'm trying to create a table clients with primairy key, but I'm getting the error "ORA-02253: constraint specification not allowed here"
    if anyone call what to do
    CREATE TABLE CLIENTS
    NUMERO NUMBER(6) CONSTRAINT PK_CLIENTS PRIMAIRY KEY,
    NOM VARCHAR(63), NOT NULL,
    PRENOM VARCHAR(63),
    NAISSANCE DATE
    Edited by: user10397656 on Oct 13, 2008 1:40 AM

    There are some errors in your script :
    PK_CLIENTS PRIMAIRY KEY
    and
    NOM VARCHAR(63)*,* NOT NULL,
    Try this way
    CREATE TABLE CLIENTS
    NUMERO NUMBER(6) CONSTRAINT PK_CLIENTS PRIMARY KEY,
    NOM VARCHAR(63) NOT NULL,
    PRENOM VARCHAR(63),
    NAISSANCE DATE
    );

  • Ora-02089-COMMIT is not allowed in a subordinate session - V'urgent pls

    All,
    BPEL version: 11.1.1
    I have to invoke a pl/sql procedure which inserts a data to a table. After insert, I used commit. When BPEL try to invoke this procedure, I got ora-02089-COMMIT is not allowed in a subordinate session+. I know without commit in pl/sql, BPEL does the commit. But for a requirement, I've to explicitly use COMMIT inside the procedure. How do I go about in this case?
    Please advise.
    Thanks,
    Sen

    IMHO.... I personally do not like using XA data sources most of the time. I can only think of a few scenarios in all my implementation where I had to undo all the 50 steps (in which case they should be a single call anyway). Mixing and matching "pragma autonomous transaction" calls with DBAdapter updates on a XA data source in a single process have gotten me into tremendous trouble and data corruption.
    Also if you really have a case where you dont want to commit, I believe you can use the idempotent flag on partnerlinks to avoid the commit. There also might be cases where the PL/SQL defined as "pragma.." might be used by other non-BPEL stuff and you are just opening DB connections even when you dont need to.

  • ORA-02089: COMMIT is not allowed in a subordinate session

    Here is my configuration.
    jdbc driver:10.2.0.3.0
    EJB-CMP
    Am using oracle.jdbc.xa.client.OracleXADataSource as the driver in my websphere application server 6.0.0.1.
    when i am calling a stored procedure from my EJB and in the stored procedure if
    i perform any DDL operation like truncate a table,create a table or commit it throws the exception:-
    ORA-02089: COMMIT is not allowed in a subordinate session
    please help me in solving this issue asap.

    hi umesh ,
    i had seen this link before ,
    My oracle version is 10g.still its giving the same error.
    In the link yoy send they say the problem is in oracle 9i driver and it is solved in 10g .The driver version is 10.2.0.3 ,still i get the same error.
    do u have any idea?
    Regards,
    sreenath.

  • ORA-01719: outer join operator (+) not allowed in operand of OR

    Hi all:
    I understand the error, but I'm not sure how to fix my query. In our database, a person does not NEED to have an address. The report I'm trying to create has a parameter for which address the user would like to have displayed. BUT, I need to outer join to the address table since people don't need an address, but we'd want to display all records, even if the address is null. Here's only part of my code since the query is quite large. Let me know if more is needed, and I'll supply it. I'm definately stuck. At this point I'm thinkin' of just creating two reports; one that displays the clients address, and a second that'll display the house physical address. The code:
    WHERE
    :P_ADDR = 'Lessee Mailing Address' AND
    lessee.actor_inst = address.actor_inst (+)
    ) OR (
    :P_ADDR = 'Unit Address' AND
    housing.actor_inst = address.actor_inst (+)
    ) AND

    Stick with ANSI SQL Notation, then you can overcome this restriction.
    See Back to basics: outer joins
    and look for »ORA-01719«

  • Dynamic From statement in select query and/or outer join not working

    Dear Experts, I have a select query where the select columns are dynamic, the where condition is also dynamic. It is of the below format:
    Select (dynamic columns) INTO <wa>
    FROM a inner join b on af1 = bf1
    inner join c on af2 = cf2......
    WHERE (dynamic conditios)
    ORDER BY ( dynamic sort condition).
    Now I have to include some tables (dynamically depending on the user input) in the inner join statement which will give description for the selected fields. And these database tables may or may no be empty. So in this case, my select query will not return any data if these tables are empty. And I dont want that.
    I tried using outer join for the extra tables but it gave me a runtime error. I also tried forming the inner join statement dynamically but it was not supporting.
    Kindly give me pointers.
    Thanks

    Hey thanks for the reply, but the problem is not solved.
    I am already using  ( fileds, value) like table in my where condition and the select statement was working properly.
    the problem is that now I have to include some tables in the join statement which can be empty and so i want to use Outer join.
    But I am getting a runtime error as below:
    Error analysis
        An exception occurred that is explained in detail below.
        The exception, which is assigned to class 'CX_SY_DYNAMIC_OSQL_SYNTAX', was not
         caught in
        procedure "ZATSCSNG_RFC_READ_TABLE" "(FUNCTION)", nor was it propagated by a
         RAISING clause.
        Since the caller of the procedure could not have anticipated that the
        exception would occur, the current program is terminated.
        The reason for the exception is:
        The running ABAP program wanted to execute a SELECT statement whose
        WHERE condition was (partly) specified dynamically. The part that is
        specified in an internal table at runtime is compared to a field of the
        right table of an LEFT OUTER JOIN. Such comparisons are not supported by
         all database systems and are therefore not allowed.

Maybe you are looking for

  • Are there any Beta users who didn't need to create a new library in 1.0?

    I know that I had to. A whole lot of flakiness disappeared when I did. I did the usual thing of exporting the Beta 4.1 XMP metadata and then re-importing all my files to a brand new native 1.0 library. Since then, I've had _no_ sorting problems and n

  • How to manage/copy/track  db in Oracle

    Hi, I'm working on dev ORacle db so we have couple of changes every day and then we go to change control location to log most recent source for each object: sp, package, ddl, etc.. Is there any good auto tool to make snapshot for the whole db and hav

  • Paymnt made against PO

    Dear all, How to see payment has been made against po or not? We are not maintaining reference at d time of payment. thnx in advance vikas

  • Back Forward arrows not working properly Safari 5.1.2

    After upgrading to Safari 5.1.2 on Snow Leopard, I have run into a bug with the back and forward arrows. Most of the time they are greyed out and not working. I have to move back and forward with either the keyboard shortcut or the menu. Sometimes on

  • Re: [b]creation of 10th Database on single pc[/b]

    GREETINGS, I need to create about 30 database on a single PC win 2000 pro sp1?? I am using Oracle 8.0.4 on Win NT and when i go through the database assistant wizard I am able to create 9 data base successfully. When i create the 10 database the serv