Database trigger - PL/SQL: ORA-00984: column not allowed here

I am trying to create a trigger that will update a table of audit used when a row is changed. Using a sequence number to assign an identifier unique to each line as it is created. Need to capture the user ID, date modified and action (update), the image of the front line.
CREATE SEQUENCE emp_audit_seq START WITH 10;                
Create table emp (
   empno       NUMBER(4)      Primary Key,
   ename       VARCHAR2(10),
   job            VARCHAR2(9),
   mgr           NUMBER(4),
   hiredate     DATE,
   sal             NUMBER(7,2),
   comm        NUMBER(7,2),
   deptno       NUMBER(2));
CREATE TABLE emp_audit   (
     audit_uid          NUMBER(15)      Primary Key,
     change_date          DATE,
     change_user          VARCHAR2(30),
     action                  CHAR(1),
     empno                  NUMBER(4),
     ename                  VARCHAR2(10),          
     job               VARCHAR2(9),
     mgr               NUMBER(4),
     hiredate          DATE,
     sal               NUMBER(7,2),
     comm                  NUMBER(7,2),
     deptno                  NUMBER(2));
CREATE OR REPLACE TRIGGER trig_emp_audit
  BEFORE UPDATE ON emp
  FOR EACH ROW
BEGIN
  INSERT INTO emp_audit
    VALUES(emp_audit_seq.nextval, change_date, change_user, action, :old.empno, :old.ename, :old.job, :old.mgr, :old.hiredate, :old.sal, :old.comm, deptno);
END;
/

Warning: Trigger created with compilation errors.

SQL> show errors
Errors for TRIGGER TRIG_EMP_AUDIT:

LINE/COL ERROR
-------- -----------------------------------------------
2/3      PL/SQL: SQL Statement ignored
3/149    PL/SQL: ORA-00984: column not allowed here
Can someone help to help me find what I'm doing wrong with the trigger?

Published by: LostNoob on August 25, 2012 14:24

First of all, when you write an INSERT statement, it is always good for the columns that you insert in the list. Which makes the code easier to follow - you do not have separately pull toward the top of the table definition to know what order of columns is inserted. And it makes the code easier to manage because the declaration become invalid if you add a new column to the table in the future.

Second, CHANGE_DATE, CHANGE_USER and ACTION are not (probably) functions and are not local variables so it is not supposed to use them in an INSERT statement. You need to write code or to take advantage of the existing functions to fill in these columns. I suppose, for example, that you want to use SYSDATE to fill the CHANGE_DATE and the USER to fill the column CHANGE_USER. My guess is that ACTION must always be a 'U' for UPDATE.

Thirdly, it seems that you left the: old man on the DEPTNO column.

Put them all together, you would have something like

CREATE OR REPLACE TRIGGER trig_emp_audit
  BEFORE UPDATE ON emp
  FOR EACH ROW
BEGIN
  INSERT INTO emp_audit(
      audit_uid,
      change_date,
      change_user,
      action,
      enpno,
      ename,
      job,
      mgr,
      hiredate,
      sal,
      comm,
      deptno )
    VALUES(
      emp_audit_seq.nextval,
      sysdate,
      user,
      'U',
     :old.empno,
     :old.ename,
     :old.job,
     :old.mgr,
     :old.hiredate,
     :old.sal,
     :old.comm,
     :old.deptno);
END;
/ 

Justin

Tags: Database

Similar Questions

  • PL/SQL: ORA-00984: column not allowed here

    Sorry, it's probably easy and I forgot something simple, but it's driving me crazy :-)
    VARIABLE g_fk_deduction      VARCHAR2(30)
    VARIABLE g_fk_empno          NUMBER
    VARIABLE g_before_or_after_flag     CHAR(1)
    VARIABLE g_deduction_amount     NUMBER
    
    BEGIN
      :g_fk_deduction           := '401K';
      :g_fk_empno               := 7369;
      :g_before_or_after_flag     := 'B';
      :g_deduction_amount          := 150.00;
    END;
    /
    BEGIN
      INSERT INTO emp_deductions      (fk_deduction, fk_empno, before_or_after_flag, deduction_amount)
       VALUES               (g_fk_deduction, g_fk_empno, g_before_or_after_flag, g_deduction_amount);
      COMMIT;
    END;
    /
    Error: PL/SQL: ORA-00984: column not allowed here on g_deduction_amount
    in the value clause.
    Any help would be appreciated.

    Table is below:
    CREATE TABLE emp_deductions     (
          fk_deduction            VARCHAR2(30),
          fk_empno                  NUMBER(4),
          before_or_after_flag         CHAR(1),
          deduction_amount            NUMBER(6,2));
    Published by: LostNoob on August 23, 2012 19:06

    rp0428 wrote:
    >
    : g_fk_deduction: = "401k".
    : g_fk_empno: = 7369;
    : g_before_or_after_flag: = 'B ';.
    : g_deduction_amount: = 150.00;
    >
    Why did you put a colon here? Get rid of them.

    They are necessary, since they are declared SQL * more variable.

    The problem for the OP, is that in the clause values in the insert the colon are missing.

    Published by: Mark Williams on August 23, 2012 22:31

    Here is your example requested:

    SQL> create table test (c number);
    
    Table created.
    
    SQL> variable v_c number
    SQL> begin
      2    :v_c := 46;
      3  end;
      4  /
    
    PL/SQL procedure successfully completed.
    
    SQL> begin
      2    insert into test values (:v_c);
      3  end;
      4  /
    
    PL/SQL procedure successfully completed.
    
    SQL> commit;
    
    Commit complete.
    
    SQL> select * from test;
    
             C
    ----------
            46
    
    1 row selected.
    
    SQL>
    
  • Procedure returns ORA-00984: column not allowed here

    Get an error returned by my procedure and can't understand it. Someone has an idea?
    Thanks in advance,
    Carpet

    14/2 PL/SQL: statement ignored
    15/80 PL/SQL: ORA-00984: column not allowed here



    CREATE OR REPLACE PROCEDURE basket_add_sp
    (p_idproduct in NUMBER,
    p_price in NUMBERS
    p_quantity in NUMBERS
    p_idbasket in NUMBERS
    p_option1 in NUMBERS
    p_option in NUMBERS)
    IS
    lv_seq_num bb_basketitem.idbasketitem%TYPE;
    BEGIN
    SELECT bb_idbasketitem_seq. NEXTVAL
    IN lv_seq_num
    FROM DUAL;
    INSERT INTO bb_basketitem (idbasketitem, idproduct, price, quantity, idbasket, option 1, option 2)
    VALUES (lv_seq_num, p_idproduct, p_price, p_quantity, p_idbasket, p_option1, p_option2);
    COMMIT;
    END;
    /

    What is p_option2 in the INSERT statement? In the settings, you have only p_option1 and p_option.

    I agree with Walter, you can save an e/s by losing the select double.

  • ORA-00984: column not allowed here, when you try to use a default UDF

    I am wanting to create a table that has a default value of a user-defined function, and because this default is intended to be used in a few different places so I would use a function rather than in the table definition.

    This is my current code that works very well:
    CREATE TABLE DEPT_HIST
    (
      DEPTNO      NUMBER(2) not null,
      DNAME       VARCHAR2(14),
      LOC         VARCHAR2(13),
      SQL_ACTV_C  CHAR(1) not null,
      EFFT_STRT_S TIMESTAMP(6) default SYSTIMESTAMP not null,
      EFFT_END_S  TIMESTAMP(6) default TO_TIMESTAMP('9999/12/30 00:00:00.000000', 'YYYY/MM/DD:HH24:MI:SS.FF6') not null,
      DELT_F      CHAR(1) default 'N' not null
    );
    but I would get something similar to this work:
    CREATE OR REPLACE FUNCTION EOT
       RETURN timestamp
    IS
       Result   timestamp;
    BEGIN
       RETURN (TO_TIMESTAMP ('9999/12/30 00:00:00.000000',
                             'YYYY/MM/DD:HH24:MI:SS.FF6'));
    END EOT;
    /
    
    select eot from dual;
    
    EOT
    ---------------------------------------------------------------------------
    30/DEC/99 12:00:00.000000000 AM
    
    CREATE TABLE DEPT_HIST
    (
      DEPTNO      NUMBER(2) not null,
      DNAME       VARCHAR2(14),
      LOC         VARCHAR2(13),
      SQL_ACTV_C  CHAR(1) not null,
      EFFT_STRT_S TIMESTAMP(6) default SYSTIMESTAMP not null,
      EFFT_END_S  TIMESTAMP(6) default EOT not null,
      DELT_F      CHAR(1) default 'N' not null
    );
    but I get an error of:
      EFFT_END_S  TIMESTAMP(6) default EOT not null,
                                       *
    ERROR at line 8:
    ORA-00984: column not allowed here
    Any ideas? I guess I could use a trigger but not exactly what I'm after.

    Hello

    Sorry; No function defined by the user in the DEFAULT clause.
    From SQL, under "CREATE TABLE Statement" language manual
    http://download.Oracle.com/docs/CD/B28359_01/server.111/b28286/statements_7002.htm#sthref7119

    Restriction on default column values


    A DEFAULT expression cannot contain references to the functions PL/SQL or other columns, the nickname CURRVAL, NEXTVAL, LEVEL, PRIOR and ROWNUM, or date constants that are not completely specified.

    I wouldn't use a trip just for that. If you need a trigger for other reasons, then maybe you can include the definition of this column in the trigger, too, but, in general, avoid triggers when there is an alternative.

  • ORA-00984: column not allowed here

    Hi all

    Kindly someone please shed some light on this called error "ORA-00984: column not allowed here?

    I created a table:

    CREATE TABLE JB (ENAME VARCHAR (20));

    Table created.

    Now, if I INSERT:

    INSERT INTO VALUES JB (sintes);

    ORA-00984: column not allowed here

    Why this error, if I insert a number instead of "Sinti", implementation is also possible. No character is not allowed.

    What is the column name in this area, its totally strange to me.

    Please someone help me.

    Thank you and best regards,
    SINTES

    Hello
    Use quotes around Zack:

    INSERT INTO JB VALUES ('Sathik');
    
  • ORA-00984 column not allowed here. Help, please.

    Hey, I made a table;


    CREATE TABLE borrower)
    BorId VARCHAR2 (5) NOT NULL,
    BorName VARCHAR2 (20).
    BorMaxBooks NUMBER (10),
    KEY elementary SCHOOL (BorId));

    I'm trying to enter values in this table;

    INSERT the borrower VALUES)
    001, 'Jack Jones', 5);

    And I get an error; ORA-00984 column not allowed here. Please can someone help? I tried to change the BorName VARCHAR2 (20) BorName char (20), and all I can think about.

    It should work by specifying your columns like this.

    INSERT INTO Borrower (BorId, BorName, BorMaxBooks)
    VALUES (001, 'Jack Jones', 5);
    

    Sitjà.

  • Error: ORA-00984: column not allowed here

    can you please tell me what is the problem with my request.
    CREATE TABLE TTAX.Travel_details
    (
      travel_key                NUMBER              NOT NULL,
      auth_key                  VARCHAR2(11)        NOT NULL,
      request_type              VARCHAR2(35)        NOT NULL,
      employee_id               VARCHAR2(3)         NOT NULL,
      division                  VARCHAR2(6)         NOT NULL,
    last_name                 VARCHAR2(20)        NOT NULL,
      first_name                VARCHAR2(15)        NOT NULL,
      email                     VARCHAR2(52),
      branch                    VARCHAR2(6),
      phone_number              VARCHAR2(20),
      alt_contact_number        VARCHAR2(20),
      primary_office_loc        VARCHAR2(15),
      pre_apprvd_trip_yn        VARCHAR2(1)         DEFAULT N,
      city                      VARCHAR2(25),
      state                     VARCHAR2(9),
      start_dt                  DATE,
      end_date                  DATE,
      state_car_yn              VARCHAR2(1)         DEFAULT N,
      justification             VARCHAR2(250),
      airfare_est_cost          NUMBER,
      car_rental_est_cost       NUMBER,
      other_tranp_est_cost      NUMBER,
      ldg_est_cost              NUMBER,
      pd_est_cost               NUMBER,
      other_trav_est_cost       NUMBER,
      pout_org_est_cost         NUMBER,
      tot_est_cost              NUMBER,
      reimburse_yn              VARCHAR2(1)         DEFAULT N,
      airfare_outside_pay       NUMBER,
      car_rental_outside_pay    NUMBER,
      other_transp_outside_pay  NUMBER,
      ldg_outside_pay           NUMBER,
      pd_outside_pay            NUMBER,
      other_trav_outside_pay    NUMBER,
      pout_org_outside_pay      NUMBER,
      tot_outside_pay           NUMBER,
      airfare_exp_cost          NUMBER,
      car_rental_exp_cost       NUMBER,
      other_transp_exp_cost     NUMBER,
      pout_org_exp_cost         NUMBER,
      tot_exp_cost              NUMBER,
      pca_num                   NUMBER,
      Unit                      NUMBER,
      Div_track_number          VARCHAR2(15),
      remarks                   VARCHAR2(100),
      fund                      VARCHAR2(4),
      Blanket_number            VARCHAR2(4),
      ost_liaison_yn            VARCHAR2(1)         DEFAULT N
      
    )
    LOGGING 
    NOCOMPRESS 
    NOCACHE
    NOPARALLEL
    NOMONITORING;
    
    
    ALTER TABLE TTAX.Travel_details ADD (
      CONSTRAINT Travel_details_PK
      PRIMARY KEY
      (travel_key));

    What is N? Please try as keep as default 'n' (single quotes)

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

    Does anyone know why I get 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
    AMT for 32-bit Windows: Version 11.1.0.6.0 - Production
    NLSRTL Version 11.1.0.6.0 - Production



    -no error without the WITH CHECK option

    SQL > INSERT INTO
    2 (SELECT
    3 location_id,
    4 city
    5 l.country_id
    6 OF country c, localities, regions r l
    7 where l.country_id = c.country_id
    8 and c.region_id = r.region_id
    9 and r.region_name = 'Asia')
    10 VALUES (5500, 'Common Wansdworth', 'UK');

    1 line of creation.

    SQL > rollback;

    Complete restoration.


    -error with WITH CHECK OPTION


    SQL > INSERT INTO
    2 (SELECT
    3 location_id,
    4 city
    5 l.country_id
    6 OF country c, localities, regions r l
    7 where l.country_id = c.country_id
    8 and c.region_id = r.region_id
    9 and r.region_name = 'Asia' WITH CHECK OPTION)
    10 VALUES (5500, 'Common Wansdworth', 'UK');
    INSERT INTO
    *
    ERROR on line 1:
    ORA-01733: virtual column not allowed here




    I was expecting

    ORA-01402: discovers the violation of where WITH CHECK OPTION clause

    for the second. Am I missing here?

    Coskan wrote:
    Randolf

    Thanks a lot for the update of this old question
    After reading the link, I think I should ignore this error and accept him as ORA-01402

    The information that you have asked me to check me do not have an understanding of the different error types.

    Coskan,

    I didn't know this is an old thread that somehow got updated by someone else.

    Regarding your question: you're right that the output of the script is not really that useful.

    I have just run on 10.2.0.4 and in general, it seems that the output of USER_UPDATABLE_COLUMNS is incorrect regarding the views of join using the WITH CHECK OPTION.

    For example although the location_id from the TEST_V_2 column appears as non-editable (probably because of the rule that "the columns used in the join expression" cannot be modified in a join view when you use the WITH CHECK OPTION) I can run successfully your insert if statement I choose a location_id less than 2000.

    It seems that summed up the difference if you join more than two tables, you'll always get the error "ORA-01733" when you try to insert in the join with the enabled OPTION CHECK view. For example to add a third table TEST_V_2 which does not change the original view, but simply joined meaning for example COUNTRIES to LOCATIONS, will show the same behavior to throw an ORA-01733, however it works fine when the omission of the WITH CHECK OPTION.

    So overall, I tend to say it is really a limitation of the implementation and it is not actually an ORA-01402 but looks like Oracle is simply trying to tell you: Amendment No. INSERT in this possible view. Updates however seem to work, at least I can find some examples of work.

    There seems to be other restrictions of implementation with the WITH CHECK OPTION in place even when the only membership as two tables, for example when trying to join the COUNTRIES and PLACES but by selecting only in PLACES and by using a filter on the COUNTRY_ID predicate fails with ORA-01733 when this predicate is applied to the COUNTRY. COUNTRY_ID but it works if this predicate is applied to PLACES. COUNTRY_ID.

    I could imagine that Oracle has quietly added some of these restrictions with each patch set due to the angle of the case/adverse reactions encountered. I saw this for other features, too.

    Kind regards
    Randolf

    Oracle related blog stuff:
    http://Oracle-Randolf.blogspot.com/

    SQLTools ++ for Oracle (Open source Oracle GUI for Windows):
    http://www.sqltools-plusplus.org:7676 /.
    http://sourceforge.NET/projects/SQLT-pp/

  • ORA-01733: virtual column not allowed here

    UPDATE (
    SELECT callingnumber, calledcallzone, b.callzone callzone, b.ndc
              FROM (SELECT DISTINCT SUBSTR (connectedcallingnumber, 3, 3) callingnumber,
                             calledcallzone,rownum 
                        FROM rating_temp
                       WHERE calltype = 0) a,
                   (SELECT *
                      FROM callzone cc
                     WHERE LENGTH (ndc) = 3) b
             WHERE callingnumber = ndc
             )
       SET calledcallzone = callzone-----VIRTUAL COLUMN NOT ALLOWED HERE
    Published by: user8731258 on November 29, 2010 12:45 AM

    Its simple you used SEPARATE in your first view inline. And so you cannot use columns for UPDATE.

  • virtual column not allowed here?

    I'm passing the name of a field as a parameter and I want to use this setting in my update like this statement:

    UPDATE WR_MEASURE_VALUE SET p_FieldToUpdate = null, pa_entered_date = sysdate
    WHERE WR_MEASURE_VALUE_OID = v_MeasureValueOID_arr (i);


    p_FieldToUpdate is the field. I get an error stating that the virtual column not allowed here.

    I tried to assign this value to a local variable and got the same thing. What do about it? I didn't create a conditiional for each value that might be stored in p_FieldToUpdate.

    Thank you

    What would you do if it is not good to do?

    Hard coded updated inside THEN incorporate tree ELSE after column_name

  • ORA 02287 sqq # not allowed here

    Hello

    Whille exexuting this query, I get this error 02287 ora
    INSERT INTO VAL_ATTR_GROUP   
       SELECT DISTINCT GROUP_NAME, APPL_CLASS, V.SWITCH_MODEL_NAME,GROUP_INST_ID.nextval
                  FROM STG_VAL_ATTR_NAME,
                       (SELECT SWITCH_MODEL_NAME
                          FROM M08_NT_UV_SWITCH_MODEL_TBL SW, STG_NODE_INST T
                         WHERE T.SWITCH_MODEL_CD = SW.SWITCH_MODEL_CD
                           AND SW.SWITCH_MODEL_NAME NOT IN (SELECT TYPE_NAME
                                                              FROM EQUIP_TYPES)) V
    How to insert the seq # above insert stmt.

    I guess that's the SEPARATE statement causes the error.

    Try this:

    INSERT INTO VAL_ATTR_GROUP
      SELECT  GROUP_NAME, APPL_CLASS, SWITCH_MODEL_NAME, GROUP_INST_ID.nextval
      FROM
      (SELECT DISTINCT GROUP_NAME, APPL_CLASS, V.SWITCH_MODEL_NAME
                  FROM STG_VAL_ATTR_NAME,
                       (SELECT SWITCH_MODEL_NAME
                          FROM M08_NT_UV_SWITCH_MODEL_TBL SW, STG_NODE_INST T
                         WHERE T.SWITCH_MODEL_CD = SW.SWITCH_MODEL_CD
                           AND SW.SWITCH_MODEL_NAME NOT IN (SELECT TYPE_NAME
                                                              FROM EQUIP_TYPES)) V)
    
  • dynamic SQL - column not allowed

    Hi, I had a problem about the dynamic SQL. could someone help me? Thank you.


    TableName: = Init;
    ID: = 1;


    Statement: = "insert" | TableName. "values (' |)" ID | ', mdsys.sdo_geometry (3007, null, null,)
    MDSYS.sdo_elem_info_array (1,1003,1,
    13,1003,1,
    25,1003,1,
    37,1003,1,
    49,1003,1,
    61,1003,1,
    73,1003,1,
    85,1003,1,
    97,1003,1,
    109,1003,1,
    121,1003,1,
    133,1003,1,
    145,1003,1,
    157,1003,1,
    169,1003,1,
    181,1003,1,
    193,1003,1,
    205,1003,1,
    217,1003,1,
    229,1003,1,
    ((241,1003,1), anoCone))';

    EXECUTE IMMEDIATE statement.


    error: column not allowed

    But if I use static SQL (i.e. INSERT INTO Init...), it not there no problem at all.

    Well, I still have no idea why you are wanting to use dynamic SQL statements for this (it will only add a memory load, especially if your routine is frequently called) but I have at least understood your problem.

    The first anonymous block shows using the static SQL, the second shows how to use dynamic (and you reference a declared local variable, where your problem is).

    SQL> select count(*) from object1;
    
              COUNT(*)
    ------------------
                     0
    
    Elapsed: 00:00:00.01
    SQL> declare
         anoCone     MDSYS.SDO_ORDINATE_ARRAY;
    begin
    
    insert into OBJECT1
    values
    (
         1,
         mdsys.sdo_geometry(3007, null, null,
    mdsys.sdo_elem_info_array (1,1003,1,
    13,1003,1,
    25,1003,1,
    37,1003,1,
    49,1003,1,
    61,1003,1,
    73,1003,1,
    85,1003,1,
    97,1003,1,
    109,1003,1,
    121,1003,1,
    133,1003,1,
    145,1003,1,
    157,1003,1,
    169,1003,1,
    181,1003,1,
    193,1003,1,
    205,1003,1,
    217,1003,1,
    229,1003,1,
    241,1003,1),
    anoCone));
    
    end;
    /
    
      2    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34
    PL/SQL procedure successfully completed.
    
    Elapsed: 00:00:00.00
    SQL> SQL>
    SQL> select count(*) from object1;
    
              COUNT(*)
    ------------------
                     1
    
    Elapsed: 00:00:00.01
    SQL> roll
    Rollback complete.
    SQL> select count(*) from object1;
    
              COUNT(*)
    ------------------
                     0
    
    Elapsed: 00:00:00.01
    SQL> declare
         anoCone     MDSYS.SDO_ORDINATE_ARRAY;
    begin
    
    execute immediate 'insert into ' || 'OBJECT1' || '
    values
    (
         1,
         mdsys.sdo_geometry(3007, null, null,
    mdsys.sdo_elem_info_array (1,1003,1,
    13,1003,1,
    25,1003,1,
    37,1003,1,
    49,1003,1,
    61,1003,1,
    73,1003,1,
    85,1003,1,
    97,1003,1,
    109,1003,1,
    121,1003,1,
    133,1003,1,
    145,1003,1,
    157,1003,1,
    169,1003,1,
    181,1003,1,
    193,1003,1,
    205,1003,1,
    217,1003,1,
    229,1003,1,
    241,1003,1),
    :anoCone)) ' using anoCone;
    
    end;
    /
      2    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34
    PL/SQL procedure successfully completed.
    
    Elapsed: 00:00:00.01
    SQL>
    select count(*) from object1;SQL> 
    
              COUNT(*)
    ------------------
                     1
    
    Elapsed: 00:00:00.01
    SQL> 
    
  • PL/SQL: ORA-00934: Group feature is not allowed here

    Hello

    I write a PL/SQL procedure. The structure is like:

    SET SERVEROUTPUT ON;
    CREATE or REPLACE procedure abc

    IS
    v_total_ip_rec number (14);
    v_total_op_rec number (14);
    v_total_rec number (14);


    BEGIN
    SELECT SUM (CASE
    WHEN < condition 1 >
    THEN 1
    0 OTHERWISE
    END
    ) in v_total_ip_rec.
    SUM (CASE
    WHEN < condition 2 >
    THEN 1
    0 OTHERWISE
    END
    ) in v_total_op_rec.
    SUM (1) in v_total_rec
    OF A, B
    WHERE A.Col1 = B.Col1;

    EXCEPTION
    WHILE OTHERS THEN
    raise_application_error (-20001,' an error has occurred - ' |) SQLCODE |' - ERROR - ' | SQLERRM);
    END;


    When I run this procedure it gives me following error:
    "PL/SQL: ORA-00934: Group feature is not allowed here."

    Someone has an idea?

    Any help would be appreciated.

    Thank you.

    Should I have any special role?

    Have you checked if synonyms exist for tables?
    Please check in this order:

    #1-synonymes appropriate
    #2-appropriate privileges
    #3-appropriate roles

  • ORA-02287: sequence number not allowed here

    < police = "Courier New" >
    Hello
    Why do I have this problem?
    Insert an order tab2 select tab2_seq.nextval, eng_cat from (select distinct job_det eng_cat) by 2.

    SQL > r
    1 * insert into tab2_seq.nextval select eng_cat select (separate eng_cat tab2
    Insert in tab2 select tab2_seq.nextval, eng_cat from (select distinct eng_cat from)
    *
    ERROR on line 1:
    ORA-02287: sequence number not allowed here

    Thank you and best regards,
    Human
    < / make >

    It's 'order of 2' which makes it fail. That makes no sense at all?
    Just remove the order by clause, then it works ;-)

  • ORA-00976 LEVEL, PRIOR or ROWNUM not allowed here in the PO_DOCUMENT_CH package

    Hello

    EBS R12.1
    OEL 5.4

    Operations of requisition and PO doing im but I got error
    ORA-00976 LEVEL,PRIOR, or ROWNUM not allowed here in Package PO_DOCUMENT_CHECKS_PVT Procedure CHECK_REQUISITIONS.
    
    Solution
    
    1. Please check HR Locations setup corresponding to location_id=XXX. For example the Country should be 'KE' instead of 'Kenya'. 
    Compare with that of location_id=YYY which is correct as per FND log. 
    
    select location_id,location_code,country 
    from hr_locations_all 
    where location_id in (142,182); 
    
    2. After changing above setup, please run the SQL again to confirm the value. 
    Note > ORA-00976 error while approving internal requisitions [968651.1 ID]
    is the same thing with my mistake. But it is specific to the country in KENYA. :(
    How can I get my FND journal so that I can see what location_id who got the error?
      1* select location_id,location_code,country from hr_locations_all
    SQL> /
    
    LOCATION_ID LOCATION_CODE COUNTRY
    ----------- ------------- --------
    censored
    
    Im selecting the table but it seems the location and country code are fine.
    
    Please help me resolve this one based on the notes above.
    
    Thanks a lot,
    
    Ms K
    
    Edited by: user_unlimited on Sep 16, 2010 10:28 PM                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        

    Salvation;

    Please update thread when you did at the end of reading

    Respect of
    HELIOS

Maybe you are looking for