INSERT INTO sfism4.wip_d_smt_alarm
(machine_code, product_no, ver, emp_no, feeder_no,
key_part_no, line_name, alarm_flag
)
VALUES (machine, ppn, ver, emp, loc,
v_kpn, line, 'Y');
以下来源于metalink。
Product (Component) Oracle Server (Rdbms) Range of versions believed to be affected Versions < 11.2 Versions confirmed as being affected Platforms affected Generic (all / most platforms affected)
This issue is fixed in
Symptoms: |
Related To: |
An ORA-600 can occur while recompiling stored PLSQL
if a procedure / function argument name matches to a column
name referred to in that function / procedure .
eg:
create table t( c1 varchar2(60),c2 number);
create or replace package p is
procedure po(c1 varchar2,c2 number);
end p;
/
Prompt create a procedure so it raises ora-904 (wrong col name)
create or replace package body p is
procedure po(c1 varchar2,c2 number)
is
begin
insert into t(c1,i_bad -- wrong column name
)
values(c1,c2);
end po;
end p;
/
create or replace package body p is
procedure po(c1 varchar2,c2 number)
is
begin
insert into t(c1,c2) values (c1,c2);
end po;
end p;
/
alter table t rename column c2 to i_problem;
alter package p compile body;
^
ORA-600
Workaround
Change the Function/procedure's argument name so that it does not
match to any column name being referred in the function/procedure body.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10640532/viewspace-660361/ ,如需转载,请注明出处,否则将追究法律责任。