PLSQL 申明和游标

--从键盘输入一个数
accept b prompt ‘请输入一个大于零的数字‘;
declare
 anum number := &b;
begin
  while anum>0
    loop
      dbms_output.put_line(anum);
      anum:=anum-1;
    end loop;
end;

declare
    v_num number;
begin
-- 从stsu表中选出id最大的值,并根据该值打印次数
  select max(id) into v_num from stsu;
  loop
  dbms_output.put_line(v_num);
  v_num := v_num-1;
  exit when v_num=0;
  end loop;
end;

declare
    cursor cur is select id,math from stsu;
begin
    for cur in (select id,math from stsu)
      loop
        dbms_output.put_line(cur.id ||‘编号学员的数学分数:‘||cur.math);
      end loop;
end;

declare
  cursor cursor_id is select id,math from stsu;
  v_id stsu.id%type;
  v_math stsu.math%type;
begin
  --打开游标
  open cursor_id;
  loop
    -- 抓取数据
    fetch cursor_id into v_id,v_math;
    exit when cursor_id%notfound;
    dbms_output.put_line(v_id||‘  ‘||v_math);
    end loop;
    -- 关闭游标
    close cursor_id;
end;
时间: 2025-01-02 15:01:25

PLSQL 申明和游标的相关文章

简单的plsql to tsql ,游标拆解

plsql 1 CREATE OR REPLACE PROCEDURE BMSSA.Usp_Neworderextract_All (sBBID IN VARCHAR2,ordType IN VARCHAR2,strFrDate IN VARCHAR2,strToDate IN VARCHAR2) AS 2 3 intRSQty INTEGER(10); 4 intManuSOH INTEGER(10); 5 intNettOrd INTEGER(10); 6 intCTDUS INTEGER(

PLSQL——04、游标

隐式游标 隐式游标的属性: SQL%ROWCOUNT 成功操作的行的数量 SQL%FOUND 发现复合条件的行返回TRUE SQL%NOTFOUND 没有发现复合条件的行回TRUE SQL%ISOPEN 游标打开状态(boolean) 演示:打印隐式游标属性 declare v_count number; begin select count(*) into v_count from scott.emp; dbms_output.put_line(chr(10)||'select return

Oracle PLSQL Demo - 17.游标查询个别字段(非整表)

declare Type ref_cur_variable IS REF cursor; cur_variable ref_cur_variable; v_empno scott.emp.empno%type; v_ename scott.emp.ename%type; v_sql varchar2(100) := 'select t.empno, t.ename from scott.emp t'; begin Open cur_variable For v_sql; Loop fetch c

Oracle PLSQL Demo - 13.游标的各种属性[Found NotFound ISOpen RowCount CURSOR]

declare r_emp scott.emp%rowtype; cursor cur_emp is select t.* from scott.emp t; begin open cur_emp; if cur_emp%isopen then dbms_output.put_line('is open...'); end if; loop fetch cur_emp into r_emp; if cur_emp%found then dbms_output.put_line('found...

C#显示存储过程返回的游标数据集

1.--Oracle 创建包 申明自定义游标类型 create or replace package pk_Var is type csr_tp is ref cursor; end; 2.--Oracle 创建存储过程返回数据集合 CREATE OR REPLACE PROCEDURE pr_getdata( v_empno VARCHAR2 ,  RC1 out PK_Var.csr_tp  ) AS     sSQL  varchar2(2000) ; begin     sSQL := 

SQL 游标使用实例

IF EXISTS(SELECT *FROM sysobjects WHERE name='sp_ContestSubmit') DROP PROC sp_ContestSubmit GO -- ============================================= -- Author: zqt -- Create date: 2011-11-25 -- Desc: 系统管理员批量给未交卷的考生交卷-竞赛 -- ================================

游标的学习

为什么要学习游标呢? 因为sql查询的结果集记录数补不定,很难用变量来表示. 而游标可以一次性读取一个记录集合,可以按过程来访问结果集 --游标的基本原理 dml,包括insert,select,update操作结果缓冲区.而游标呢,是指向该去的一个指针.可以针对每一行的结果进行处理,访问.是实际嵌入式sql语句的应用程序最常用编程方式 ---游标的类别 按类型分为静态和动态游标. 静态是指当执行一条语句的时候,默认绑定的游标.而动态是只程序运行时才绑定的游标. 静态游标又可以分为隐式游标和显示

Sql Server 游标操作的例子,使用sql server 游标循环处理数据

GO -- ============================================= -- Author: zqt -- Create date: 2011-11-25 -- ============================================= create proc [dbo].[proc_get_product] @customerID int as --声明一个变量 declare @productid int; declare @productna

存储过程语法及实例

存储过程如同一门程序设计语言,同样包含了数据类型.流程控制.输入和输出和它自己的函数库. --------------------基本语法-------------------- 一.创建存储过程create procedure sp_name()begin.........end 二.调用存储过程1.基本语法:call sp_name()注意:存储过程名称后面必须加括号,哪怕该存储过程没有参数传递 三.删除存储过程1.基本语法:drop procedure sp_name// 2.注意事项(1