PLSQL 申明和游标】的更多相关文章

--从键盘输入一个数 accept b prompt '请输入一个大于零的数字'; declare anum number := &b; begin loop dbms_output.put_line(anum); anum:; end loop; end; declare v_num number; begin -- 从stsu表中选出id最大的值,并根据该值打印次数 select max(id) into v_num from stsu; loop dbms_output.put_line(…
在PLSQL块中执行SQL语句 A.   数据定义DDL: create,drop,truncate,不能直接执行,truncate执行时只做数据删除,不写日起,不维护索引 在PLSQL块中执行字符串SQL语句 注意:在PL/SQL块中可以直接执行,通常没有必要,除非表名和字段名是动态的. Execute immediate “DDL语句” Execute immediate “select 语句” into 变量名 DECLARE my_sql VARCHAR2(200); my_row em…
显式游标的处理过程包括: 声明游标,打开游标,检索游标,关闭游标. 声明游标 CURSOR c_cursor_name IS statement; 游标相当于一个查询结果集,将查询的结果放在游标里,方便在块里进行处理. 记录 一个记录就是一个复合的数据结构,相当于结果集里的一行数据,用于遍历游标时存放结果.记录支持三种定义:基于表,基于游标,自定义. 如果是基于表或游标,其定义格式为: record_name table_name or cursor_name%ROWTYPE; 打开游标 OPE…
分类: Oracle 1. PL/SQL里的游标可以分为显式和隐式两种,而隐式有分为select into隐式游标和for .. in 隐式游标两种.所以,我们可以认为,有3种游标用法: A. 显式游标 普通显式游标 代码: );begin open c ; loop    fetch c into l_tname ;    exit when c%notfound ;     dbms_output.put_line(l_tname);end loop;close c;end;/.... Bu…
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 ) := 'select t.empno, t.ename from scott.emp t'; begin Open cur_variable For v_sql; Loop fetch cur_variable…
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...…
IF EXISTS(SELECT *FROM sysobjects WHERE name='sp_ContestSubmit') DROP PROC sp_ContestSubmit GO -- ============================================= -- Author: zqt -- Create date: 2011-11-25 -- Desc: 系统管理员批量给未交卷的考生交卷-竞赛 -- ================================…
游标是属于级行操作,遍历一个表一行一行读,而SQL查询是基于数据集的,在数据量大的时候,使用游标会降低查询速度.这是很明显的.但是有些操作就用游标实现.所以游标又是不或缺少的.我很久都没用游标了,一时我也不记得怎么写,只记得游标操作一般三步. 1.定义一个游标,将查询的数据放到在这游标中 2.打开游标 3.在WHILE里遍历游标,当状态不是0的时候表明没有记录了. 在网上找了个很好的例子,记在这里,以便下次查阅 --申明一个游标 DECLARE MyCursor CURSOR FOR SELEC…
起因:游标执行存储过程 下载begin 外面了.. ,造成一直触发存储过程 收获:定义变量统一在游标外部使用, 书写内容在begin 内部书写 alter PROCEDURE USP_dgd_wzh_INPUT_SAVE ), ) as ) begin --游标更改数据 --申明一个游标 ),),),@rec_date datetime,@plan_date datetime, ) --循环变量 DECLARE MyCursor CURSOR FOR SELECT po_no,modelcode…
注释 单行--多行 一.declare一般用于做变量的申明.begin 程序体开始执行  end; 程序体结束exception .. dbms_output.put_line('绝对值'||v_abs);输出语句 执行begin 之前必须先set serveroutput on;要不打印不出来 pl/sql约定俗成变量以v开头如 v_name  example:declare v_name varchar2(20)    -----变量类型为变长字符begin v_name:='myname'…