v_emp_record.f_name就是在用游标中返回值啊
解决方案 »
- 请教如何用SQL语句访问其它的数据库
- 如何删除oracle的bdump下面的文件
- 100分求CNOUG 邀请码
- 就这样的一个sql语句,我简直菜呆了~,菜的无与伦比......,怎么去写呵
- 这个问题怎么解决???ORACLE initialization or shutdow in process
- 三个表联合到一起,为什么数据不对,help me!!!
- 查询记录时怎么给记录加锁???????
- 如何转移数据库实例
- PLSQL导入pde文件失败
- PLSQL(oracle)怎么创建用户且创建的用户可以访问指定的视图。且其他服务器可以直接登录这个账号密码。
- PL/SQL登录远程数据库
- 菜鸟问题,如何自动带出最后三次保存的值
就是将游标中的记录赋予v_emp_record --也就是提取游标的返回值。游标返回可能包含多条记录,需要用loop的方式将多条记录一条一条的返回给v_emp_record
謝謝!
但 有用 與 沒有用 RETURN EMP_RECORD_TYPE,結果一樣,
那這 用 RETURN EMP_RECORD_TYPE 有何好處?我想,用了 RETURN EMP_RECORD_TYPE,應該有特定的用途 才對!
FETCH c3 INTO v_emp_record;
不用的话fetch的时候返回的是多列,cursor有几列就返回几个值
FETCH c3 INTO v_first_name, v_hire_date;
謝謝!不過,我試過 似乎 有沒有 RETURN 都可以RUN???DECLARE
TYPE XX IS RECORD(
f_name hr.employees.first_name%TYPE,
h_date hr.employees.hire_date%TYPE);
v_XX XX;
v_f_name hr.employees.first_name%TYPE;
v_h_date hr.employees.hire_date%TYPE;
CURSOR c2(p_deptid NUMBER, p_jobid VARCHAR2) --声明游标,有参数,没有返回值
RETURN XX
IS
SELECT first_name, hire_date FROM hr.employees
WHERE department_id = p_deptid AND job_id = p_jobid;
BEGIN
OPEN c2(90, 'AD_VP'); --打开游标,传递参数值
LOOP
FETCH c2 INTO v_XX.f_name,v_XX.h_date; --提取游标
IF c2%FOUND THEN
--DBMS_OUTPUT.PUT_LINE(v_f_name||'的雇佣日期是'||v_h_date);
DBMS_OUTPUT.PUT_LINE(v_XX.f_name||'的雇佣日期是'||v_XX.h_date);
ELSE
DBMS_OUTPUT.PUT_LINE('已经处理完结果集了');
EXIT;
END IF;
END LOOP;
CLOSE c2; --关闭游标
END;
只是不知若都可以 為何還要 多一個RETURN