【Oracle游标的定义格式说明】教程文章相关的互联网学习教程文章

oracle游标:查询并打印员工的姓名和薪水【代码】

--查询并打印员工的姓名和薪水 --set serveroutput on /* 1、光标的属性%found:如果取到了记录就是true否则是false;%notfound: */ declare --定义一个光标 cursor cemp is select ename,sal from emp; --为光标定义对应的变量 pename emp.ename%type; psal emp.sal%type;begin--打开光标open cemp;loop--取一条记录 into后面的顺序和定义光标后面的ename,sal顺序一致fetch cemp into pename,psal;--思考:1、循环什么时候退出?...

Oracle游标示例【代码】

声明游标;CURSOR cursor_name IS select_statement--For 循环游标 --(1)定义游标 --(2)定义游标变量 --(3)使用for循环来使用这个游标 declare--类型定义cursor c_jobisselect empno,ename,job,salfrom empwhere job=‘MANAGER‘;--定义一个游标变量v_cinfo c_emp%ROWTYPE ,该类型为游标c_emp中的一行数据类型c_row c_job%rowtype; beginfor c_row in c_job loopdbms_output.put_line(c_row.empno||‘-‘||c_row.ename||‘-...

21. oracle游标循环例子

create or replace procedure sp_addProjectQj( ret out number, flowid in number --流程Id) ascursor c_design is select * from LC_VR_Detail where lc_crm_visitreport_Id = flowid and dd_status != 2; c_row c_design%rowtype; v_id number;begin for c_row in c_design loop pnextid(‘T_XMSJQJ‘,v_id); --项目涉及器件(id,项目名称,器件) values --design明细表(v_id,项目名称,器件名称) ...

[转载]oracle游标概念讲解

原文URL:http://www.2cto.com/database/201203/122387.html ORACLE游标概念讲解 什么是游标? ①从表中检索出结果集,从中每次指向一条记录进行交互的机制。 ②关系数据库中的操作是在完整的行集合上执行的。 由SELECT 语句返回的行集合包括满足该语句的WHERE 子句所列条件的所有行。由该语句返回完整的行集合叫做结果集。 应用程序,尤其是互动和在线应用程序,把完整的结果集作为一个单元处理并不总是有效的。 ...

Oracle游标带参数

or replace procedure a ascursor b(c_id int)is select * from d where id=c_id;beginopen b(111);end; Oracle游标带参数标签:本文系统来源:http://www.cnblogs.com/xushining/p/5448932.html

ORACLE-游标数

、查看系统配置游标数 select value from v$parameter where name = ‘open_cursors‘;2、查看游标使用情况 select o.sid, osuser, machine, count(*) num_curs from v$open_cursor o, v$session s where user_name = ‘XFTEST‘ and o.sid=s.sid group by o.sid, osuser, machine order by num_curs desc;3、根据游标占用情况分析访问数据库的程序在资源释放上是否正常,如果程序释放资源没有问题,则加大游标数。alter system se...

Oracle游标整理二【代码】

tname student.name%type; tage student.age%type; beginselect name,age into tname,tage from student where id = ‘S001‘;--返回零行货多行,执行报错dbms_output.put_line(‘name= ‘||tname||‘age= ‘||tname); end3、显示游标 3.1、定义游标--cursor cursor_name is select _statement; cursor c_stu is select from student;c_stu sys_refcursor;--系统游标 --定义游标(3) --先在包中定义游标,及用于检索的结构体, --这...

Oracle游标的使用方法

声明游标;CURSOR cursor_name IS select_statement--For 循环游标 --(1)定义游标 --(2)定义游标变量 --(3)使用for循环来使用这个游标 declare--类型定义cursor c_jobisselect empno,ename,job,salfrom empwhere job=‘MANAGER‘;--定义一个游标变量v_cinfo c_emp%ROWTYPE ,该类型为游标c_emp中的一行数据类型c_row c_job%rowtype; beginfor c_row in c_job loopdbms_output.put_line(c_row.empno||‘-‘||c_row.ename||‘-...

Oracle游标

游标的生命周期 打开游标——>解析游标——>定义输出变量——>绑定输入变量——>执行游标——>获取游标——>关闭游标 利用DBMS_SQL包显示编码 DECLARE l_ename EMP.ENAME%TYPE := ‘SCOTT‘; l_empno EMP.EMPNO%TYPE; l_cursor INTEGER; l_retval INTEGER; BEGIN --open l_cursor := DBMS_SQL.OPEN_CURSOR; --parse DBMS_SQL.PARSE (l_cursor, ‘select empno fro...

Oracle 游标简介【代码】【图】

的方式访问数据 游标的类型:1,隐式游标:在 PL/SQL 程序中执行DML SQL 语句时自动创建隐式游标,名字固定叫sql。 2,显式游标:显式游标用于处理返回多行的查询。 3,REF 游标:REF 游标用于处理运行时才能确定的动态 SQL 查询的结果隐式游标:q在PL/SQL中使用DML语句时自动创建隐式游标 q隐式游标自动声明、打开和关闭,其名为 SQL q通过检查隐式游标的属性可以获得最近执行的DML 语句的信息 q隐式游标的属性有: q%FOUND – SQ...

关于Oracle游标out参数多层调用的BUG,ORA-06504

p_cur sys_refcursor; v_ename varchar2(50);procedure pro_1(p_cur outsys_refcursor)asbegin--子程序1open p_cur forselect ename from scott.emp;end; procedure pro_2(p_cur outsys_refcursor)asbegin--子程序2 pro_1(p_cur);end; begin--主程序 pro_2(p_cur);fetch p_cur into v_ename;end;运行报错:ORA-06504: PL/SQL: 结果集变量或查询的返回类型不匹配 经调试发现在主程序fetch时出错。 同样代码在数据库 Oracle...

oracle 游标【代码】

-- 声明游标;CURSOR cursor_name IS select_statement--For 循环游标--(1)定义游标--(2)定义游标变量--(3)使用for循环来使用这个游标declare --类型定义 cursor c_job is select empno,ename,job,sal from emp where job=‘MANAGER‘; --定义一个游标变量v_cinfo c_emp%ROWTYPE ,该类型为游标c_emp中的一行数据类型 c_row c_job%rowtype;begin for c_row in c_job ...

oracle游标使用遍历3种方法

1.for循环遍历 declarecursor mycur is select * from ct_cust_info;custInfo ct_cust_info%rowtype;cou number;beginfor custInfo in mycur loopcou:=mycur%rowcount;dbms_output.put_line(cou);dbms_output.put_line(custInfo.cust_id);end loop;end; 2.while遍历 declarecursor mycur is select * from ct_cust_info;custInfo ct_cust_info%rowtype;beginopen mycur;fetch mycur into custInfo;while(mycur%found)loopdbms_outp...

Oracle游标【代码】

FETCH emp_cur INTO EMP_NO,EMP_NAME,EMP_SAL; --读取第一行WHILE emp_cur%FOUND LOOP --循环判断,用%FOUND 返回TRUE则表示读取到了DBMS_OUTPUT.put_line(‘FETCH CURSOR--‘||EMP_NO||‘--‘||EMP_NAME||‘--‘||‘--‘||EMP_SAL);FETCH emp_cur INTO EMP_NO,EMP_NAME,EMP_SAL; --读取下一行END LOOP; END;END;1.2 用记录类型DECLARE CURSOR cur_emp(var_job IN VARCHAR2:=‘SALESMAN‘) IS SELECT EMPNO,ENAME,SAL FROM EMP W...

oracle游标的使用(二)【图】

BEGIN UPDATE t_bjqk SET fBL = fBL - 2 WHERE fBJDM=‘1461‘; IF SQL%FOUND THEN dbms_output.put_line(‘这次更新了‘ || SQL%ROWCOUNT); ELSE dbms_output.put_line(‘一行也没有更新‘ ); END IF; END; --SELECT * FROM t_bjqk; [sql] view plain copy 在select中有两个中比较常见的异常: 1. NO_DATA_FOUND 2. TOO_MANY_ROWS SQL> declare 2 sname1 student.sname%TYPE; 3 b...