【Oracle:控制语句 IF..ELSIF语句、CASE语句、FOR循环语句】教程文章相关的互联网学习教程文章

Oracle存储过程中跳出循环的写法

Oracle存储过程中跳出循环的写法 博客分类: oracleOracle 记录exit和return的用法 exit用来跳出循环 loop IF V_KBP IS NULL THEN EXIT; END IF; end loop; return跳出存储过程 loop IF V_KBP IS NULL THEN return; END IF; end loop; 跳出loop 一次循环 oracle 11g已提供continue; oracle 10g及以下,使用goto来替代,例如 SQL> set serveroutput on; SQL> declare 2 begin 3 for i in 1..10 loo...

Oracle循环中的EXIT、RETURN、CONTINUE解密

第一种:使用RETURN的时候,直接跳出存储过程或者函数 第二种:使用EXIT的时候,跳出本循环转而执行本循环的上一级循环的下一次循环。就此案例而言MY_CU.SPBH = ‘AAA‘为真的时候,直接跳出MY循环转而去执行MY_CU的下一次循环 第三种:使用CONTINUE的时候,本次循环后面的代码部分不再执行,转而执行本循环的下一次循环。就此案例而言MY_CU.SPBH = ‘AAA‘为真的时候,后面的代码不执行,继续MY的下一次循环Oracle循环中的EXIT、R...

ORACLE存储过程while循环的使用

CREATE OR REPLACE PROCEDURE proc_testasi number;BEGIN i:=0;while i < 10 LOOPbegin i:= i + 1;--insert into student () values ();Dbms_output.Put_line(‘插入第‘||i||‘条数据‘); end;end LOOP;END proc_test;ORACLE存储过程while循环的使用标签:oracle存储过程while循环的使用本文系统来源:http://7883830.blog.51cto.com/7873830/1793504

二十五、oracle pl/sql进阶--控制结构(分支,循环,控制)【代码】【图】

SET serveroutput ON;CREATE OR REPLACE PROCEDURE SP_PRO6(SPNAME VARCHAR2) IS --定义 V_SAL EMP.SAL%TYPE;BEGIN --执行 SELECT SAL INTO V_SAL FROM EMP WHERE ENAME = SPNAME; --判断 IF V_SAL < 2000 THEN UPDATE EMP SET SAL = SAL + SAL * 0.1 WHERE ENAME = SPNAME; COMMIT; END IF;END;/--调用存储过程exec SP_PRO6(‘ALLEN‘); 2)、二重条件分支 if–then–else问题:编写一个过程,可以输入一个雇员名,如...

oracle for loop循环以及游标循环

形式DECLARE   CURSOR c_sal IS SELECT employee_id, first_name || last_name ename, salary   FROM employees ;  BEGIN   --隐含打开游标   FOR v_sal IN c_sal LOOP    --隐含执行一个FETCH语句   DBMS_OUTPUT.PUT_LINE(to_char(v_sal.employee_id)||‘---‘|| v_sal.ename||‘---‘||to_char(v_sal.salary)) ;   --隐含监测c_sal%NOTFOUND   END LOOP;  --隐含关闭游标  END; 2.普通的...

[转]oracle存储过程、声明变量、for循环

oracle存储过程、声明变量、for循环 1、创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out type) as --声明变量(变量名 变量类型) begin --存储过程的执行体 end test; 打印出输入的时间信息 E.g: create or replace procedure test(workDate in Date) is begin dbms_output.putline(&apos;The input date is:&apos;||to_date(workDate,&apos;yyyy-mm-dd&apos;)); end test; 2、变量赋值 变量名 ...

2015.1.15 利用Oracle函数插入表结构 Bulk collect into 不用循环,简洁高效

如果表结构只对应一个字段,可以 select col1 bulk collect into 变量,不用游标循环,简洁高效 create or replace function get_airway_subpoint(awid in number) return airway_subpnts_tab is --CREATE OR REPLACE TYPE AIRWAY_SUBPNTS_TAB as table of number(11) v_ptns airway_subpnts_tab; --返回航路所有点id begin select f2.airway_point1 bulk collect into v_ptns from RTE_SEG f1,segment f2 where f1.en_route_rte_...

Oracle动态游标实现动态SQL循环遍历,和静态游标的比较。【代码】

REF CURSOR; --定义一个动态游标游标名  游标类型;如果查询的表的数据不同的,动态变化的,这时候可以用动态游标。 需要注意的是,动态游标的定义, 在普通存储过程中:需要放在 is 后面的第一行。 动态游标通过:open 游标 for 字符串,形式使用,遍历。create or replace procedure P_TEST_SQL is TYPE ref_cursor_type IS REF CURSOR; --定义一个动态游标 tablename varchar2(200) default ‘ess_client‘; v_...

oracle--循环PL/SQL--demo1---【代码】

--简单的条件判断if–then --编写一个过程,可以输入一个雇员名,如果该雇员的工资低于2000,就给该员工工资增加10%。 create or replace procedure sp_pro6 ( spname varchar2 )is --定义 v_sal emp.sal%type; begin --执行 select sal into v_sal from emp where ename=spname; --判断 if v_sal<2000 then update emp set sal=sal+sal*0.1 where ename=spname; end if; commit; end; --调用存储过程 exec SP_PRO6(‘ALLEN‘); =...

oracle pl/sql中的循环及if语句【代码】

/*2 for循环打印1到103 */4 5 set serveroutput on;6 7 declare8 9 begin 10 for i in 1..10 loop 11 dbms_output.put_line(i); 12 13 end loop; 14 15 end; 16 / while循环 1 /*2 打印数字1 ~ 103 */4 5 set serveroutput on;6 7 declare8 9 num number := 1; 10 11 12 begin 13 14 while num <= 10 loop 15 dbms_output.put_line(num); 16 num := num +1; 17 end loop; 18 19 end; 20...

Oracle:FOR循环语句练习

--打印输出从1到10的正整数DECLARE  v_i NUMBER(10) := 0;BEGIN   LOOP     v_i := v_i + 1;     DBMS_OUTPUT.put_line(v_i);   EXIT WHEN v_i=10; --或者v_i>9;   END LOOP;END; --打印输出从1到10之间的偶数DECLARE   v_i NUMBER(10) := 0;BEGIN   LOOP     v_i := v_i + 1;     IF v_i MOD 2 = 0 THEN       DBMS_OUTPUT.put_line(v_i)...

Oracle:控制语句 IF..ELSIF语句、CASE语句、FOR循环语句

)BEGIN   IF FALSE THEN     DBMS_OUTPUT.put_line(‘执行if语句...‘);   ELSIF TRUE THEN     DBMS_OUTPUT.put_line(‘执行ELEIF1语句...‘);   ELSIF TRUE THEN     DBMS_OUTPUT.put_line(‘执行ELEIF2语句...‘);   ELSIF FALSE THEN     DBMS_OUTPUT.put_line(‘执行ELEIF3语句...‘);   END IF;END; --百分制成绩转化为五分制成绩,并打印输出DECLARE   v_score NUMBER(3) :=‘&sco...

Oracle存储过程中跳出循环的写法

记录exit和return的用法 exit用来跳出循环 loop IF V_KBP IS NULL THEN EXIT; END IF; end loop; return跳出存储过程 loop IF V_KBP IS NULL THEN return; END IF; end loop; 跳出loop 一次循环 oracle 11g已提供continue; oracle 10g及以下,使用goto来替代,例如 SQL> set serveroutput on; SQL> declare 2 begin 3 for i in 1..10 loop 4 if mod(i,2)=0 then 5 goto next; 6 ...

oracle循环插入1万条数据

declare maxnumber constant number:=10000; i number :=1; begin for i in 1..maxnumber loop insert into DEPT(DEPTID,DEPTNAME,FATHERID) values(i,CONCAT(‘test‘,i),i-1); --CONCAT(‘test‘,i)是将test与i进行拼接 end loop; dbms_output.put_line(‘ 成功录入数据! ‘); commit; end; oracle循环插入1万条数据标签:com 成功 commit cat b...

『ORACLE』 PLSQL-LOOP基本循环(11g)

2 i number := 0; 3 begin 4 loop 5 dbms_output.put_line(i); 6 i := i+1; 7 exit when i = 10; 8 end loop; 9 end; 10 /0123456789 PL/SQL procedure successfully completed. SQL> declare 2 i number := 0; 3 begin 4 loop 5 i := i+1; 6 dbms_output.put_line(i); 7 exit when i = 10; 8 end loop; 9 end; 10 /12345678910 PL/SQL procedure successfully completed.『ORACLE』...