首页 > 解决方案 > sqlcmd 中的编译器错误,但 sql live 中没有错误

问题描述

在此处输入图像描述我在live sql上有程序,它创建并成功执行,但是当我创建它并在sqlcmd上执行它时,我收到一个编译错误,请指教..

以下是程序:

create or replace procedure p_get_num_for_max_salary(v_salary_out out integer, v_num_out out integer) as
v_RNO   integer;
v_SALARY    integer;
v_SALARY1   integer;
v_OVERTIME  integer;
v_REWARD    integer;
v_ACHIEVEMENTS  integer;
v_TOTAL integer;
v_PERCENTAGE  integer;
v_count  integer;
begin


execute immediate 'truncate  table salaries';
select count(*) into v_count from temp_salary;


for i in 1..v_count loop

select max(salary) into v_salary1 from temp_salary;

select RNO, SALARY, OVERTIME,   REWARD, ACHIEVEMENTS,   TOTAL,  PERCENTAGE 
into v_RNO, v_SALARY,   v_OVERTIME, v_REWARD,   v_ACHIEVEMENTS, v_TOTAL, v_PERCENTAGE 
from temp_salary where salary = v_salary1;

insert into salaries( rno, salary , overtime ,reward, achievements, total, PERCENTAGE ) 
values (v_RNO,  v_SALARY,   v_OVERTIME, v_REWARD,   v_ACHIEVEMENTS, v_TOTAL, v_PERCENTAGE);

commit;

delete from temp_salary where rno = v_rno and salary = v_salary and overtime = v_overtime and reward = v_reward and achievements = v_achievements;

commit;
end loop;

select max(salary) into v_salary_out from salaries;
select RNO into v_num_out from salaries where salary = v_salary_out and rownum = 1;
end;

标签: sqloraclecompiler-errorsproceduresqlcmd

解决方案


推荐阅读