国外购物平台seo收费
--需求:查询员工的员工号、姓名、职位
方式一:
--显示游标的常规方式
DECLARECURSOR emp_cursor IS SELECT empno,ename,job FROM emp;v_empno emp.empno%TYPE;v_name emp.ename%TYPE;v_job emp.job%TYPE;
BEGINOPEN emp_cursor;LOOPFETCH emp_cursor INTO v_empno,v_name,v_job;EXIT WHEN emp_cursor%NOTFOUND;DBMS_OUTPUT.PUT_LINE('员工号:'||v_empno ||'姓名:'||v_name||'职位:'||v_job);END LOOP;CLOSE emp_cursor;
END;
方式二:
--游标FOR循环的方式
DECLARECURSOR emp_cursor IS SELECT empno,ename,job FROM emp;
BEGINFOR emp_record IN emp_cursor LOOPDBMS_OUTPUT.PUT_LINE('员工号:'||emp_record.empno||',姓名:'||emp_record.ename||',职位:'||emp_record.job);END LOOP;
END;
--游标FOR循环中引用子查询 可以直接不声明游标,而使用游标for循环的语法
BEGINFOR emp_record IN (SELECT empno,ename,job FROM emp) LOOPDBMS_OUTPUT.PUT_LINE('员工号:'||emp_record.empno||',姓名:'||emp_record.ename||',职位:'||emp_record.job);END LOOP;
END;
即参数游标指的是在定义游标时需要定义其参数类型,open游标的时候需要传入具体参数
例子:
--参数游标
DECLARECURSOR emp_cursor(dno NUMBER) IS SELECT empno,ename,job FROM emp WHERE deptno = dno;
BEGINFOR emp_record IN emp_cursor(&no) LOOPDBMS_OUTPUT.PUT_LINE('员工号:'||emp_record.empno||',姓名:'||emp_record.ename||',职位:'||emp_record.job);END LOOP;
END;