简单了解一下oracle中的显示游标和存储过程
发布时间:2020-12-12 13:41:20 所属栏目:百科 来源:网络整理
导读:游标 游标主要分两类动态和静态游标,静态游标是编译时知道明确的select语句的游标,静态游标分类两种,显示游标和静态游标,这里只说显示游标 显示游标 declare name emp.ename % type; sal emp.sal % type; -- 声明两个变量 cursor emp_currsor is -- 声明游标
游标游标主要分两类动态和静态游标,静态游标是编译时知道明确的select语句的游标,静态游标分类两种,显示游标和静态游标,这里只说显示游标 显示游标declare name emp.ename%type; sal emp.sal%type; --声明两个变量 cursor emp_currsor is --声明游标 select ename,sal from emp; begin open emp_currsor; --第一步打开游标 loop fetch emp_currsor into name,sal; --fetch提取游标 exit when emp_currsor%notfound; --判断游标是否还有值 dbms_output.put_line(‘第‘||emp_currsor%rowcount||‘个雇员‘||name||sal); end loop; close emp_currsor; --最后一步关闭游标 end; ?显示游标属性%found:只有在DML语句影响一行或者多行时,%found属性才返回true %notfound:如果没有影响任何行返回true %rowcount:属性返回DML语句影响的行数.如果DML语句没有影响任何行,则%rowcount属性返回0 %isopen:返回游标是否已被打开 循环读取游标declare cursor cu_emp is select * from emp; lr_emp cu_emp%rowtype; --声明变量 begin for lr_emp in cu_emp loop dbms_output.put_line(‘empName: ‘ || lr_emp.ename); end loop; end; ?结果: 存储过程--创建存储过程 create or replace procedure proc_getEmpList(v_empno number,vara varchar) is --遍历游标 cursor cu_emp is select * from emp; lr_emp cu_emp%rowtype; --声明变量 begin dbms_output.put_line(‘v_empno: ‘ || v_empno||‘vara:‘||vara); for lr_emp in cu_emp loop dbms_output.put_line(‘empName: ‘ || lr_emp.ename); end loop; end; --调用 begin proc_getEmpList(123,‘00‘); end; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |