create or replace procedure temp_1(pi_type varchar2) is
emp_record employees%rowtype;
CURSOR emp_cursor IS
SELECT *
FROM employees
where to_date('2008/10/1', 'yyyy/MM/dd') - hiredate > 6 * 30
and pay_type = pi_type
for update;
begin
for emp_record in emp_cursor loop
dbms_output.put_line(emp_record.name || ' ' || emp_record.saraly);
--通过游标更改数据
--update employees set sal = emp_record.salary*1.1 WHERE CURRENT OF emp_cursor;
dbms_output.put_line(emp_record.name || ' ' || emp_record.saraly);
end loop;
end temp_1;
create or replace procedure temp_1(pi_type varchar2) is
emp_record employees%rowtype;
CURSOR emp_cursor IS
SELECT *
FROM employees
where to_date('2008/10/1', 'yyyy/MM/dd') - hiredate > 6 * 30
and pay_type = pi_type
for update;
begin
for emp_record in emp_cursor loop
dbms_output.put_line(emp_record.name || ' ' || emp_record.saraly);
--通过游标更改数据
--update employees set sal = emp_record.salary*1.1 WHERE CURRENT OF emp_cursor;
dbms_output.put_line(emp_record.name || ' ' || emp_record.saraly);
end loop;
end temp_1;这个存储过程怎么调用啊?我用execute temp_1('XXX');还是报错
create or replace procedure temp_1(pi_type varchar2) is
emp_record employees%rowtype;
CURSOR emp_cursor IS
SELECT *
FROM employees
where to_date('2008/10/1', 'yyyy/MM/dd') - hiredate > 6 * 30
and pay_type = pi_type
for update;
begin
for emp_record in emp_cursor loop
dbms_output.put_line(emp_record.name || ' ' || emp_record.saraly);
--通过游标更改数据
--update employees set sal = emp_record.salary*1.1 WHERE CURRENT OF emp_cursor;
dbms_output.put_line(emp_record.name || ' ' || emp_record.saraly);
end loop;
end temp_1;这个存储过程怎么调用啊?我用execute temp_1('XXX');还是报错
报错一定要把错误信息贴出来,不是怎么找错误啊
SET SERVEROUTPUT ON;
EXECUTE TEMP_1('xxx');
错误信息:
begin temp_1('小时工'); end;
ORA-06550: 第 1 行, 第 7 列:
PLS-00905: 对象 YWF.TEMP_1 无效
ORA-06550: 第 1 行, 第 7 列: