环境:oracle 10g
当你运行存储过程时,异常。报下面的错误时
ORA-06550: line 2, column 2
PLS-00905:xxxxxx无效
PL/SQL: Statement ignored
这里你的存储过程创建通过,但运行错误。这可能是你的存储过程的语法有误而做成。如缺少分号、关键字写错、语句写进了错误的位置:如
我做游标时,遇到的是语句写进了错误的位置:
open v_cur_upddate;
loop
fetch v_cur_upddate into t_user;
exit when v_cur_upddate%NOTFOUND;
--判断数据是否已经存在。
select count(1) into v_cunt from LY_SDC_USER_UP where user_id=t_user.user_id;
if (v_cunt>0) then --数据已经存在
update LY_SDC_USER_UP set
CURVER=1,SYNVER=0,TYPEFLAG='U',UPDATETIME=sysdate,
user_id=t_user.user_id,
user_name=t_user.user_name,
sex_id=t_user.sex_id
where user_id=t_user.user_id ;
elsif (v_cunt=0) then --数据尚不存在
dbms_output.put_line('----ID='||t_user.ID);--这里不写当前的语句。在出错时会报别的地方出错的
insert into LY_SDC_USER_UP values(
t_user.user_id,
t_user.user_name,
t_user.sex_id,
1,0,'I',sysdate);
end if;
v_cunt :=0; --初始化标记变量为0
commit;
end loop;
close v_cur_upddate;