Oracle中loop语句会先执行一次循环,然后再判断“exit when”关键字后面的条件表达式的值是true还是false,如果是true,那么将退出循环,否则继续循环. LOOP循环 语法如下loop plsql_sentence;exit when end_condition_expend loop;具体例子如下: declare i ; sum_i ; begin loop i :; sum_i:=i+sum_i; ; end loop; dbms_output.put_line('前…
实例: beginfor i in 51..500 loop delete from test t where t.date=to_date('2016-07-01', 'yyyy-MM-dd') and t.name like ('%'||i);-------oracle使用||作为连接符 update test t set t.code=('TEXT-0000-2-'||lpad(1,3,'0')) ,t.name=replace(t.name,'3001','0000') where to…
1.ORACLE中的GOTO用法 DECLARE x number; BEGIN x := 9; <<repeat_loop>> --循环点 x := x - 1; DBMS_OUTPUT.PUT_LINE(X); IF X > 0 THEN GOTO repeat_loop; --当x的值小于9时,就goto到repeat_loop END IF; END; 2.ORACLE中的FOR循环用法 DECLARE X number; --声明变量 BEGIN x :; --…
1.主键自增实现方法:http://www.cnblogs.com/Donnnnnn/p/5959871.html 2.for循环往Oracle中插入n条数据 BEGIN .. loop insert into S_Depart(departId,Departname,Departorder)values(S_S_Depart.Nextval,); end loop; end; 上面循环了50次 执行后,记得commit提交.....…
DECLARE x number; BEGIN x:=9; <<repeat_loop>> --循环点 x:=x-1; DBMS_OUTPUT.PUT_LINE(X); IF X>0 THEN GOTO repeat_loop; --当x的值小于9时,就goto到repeat_loop END IF; END; / ORACLE中的FOR循环用法 DECLARE X number; --声明变量 BEGIN x:=1; --给初值 FOR X IN REVERSE 1..10…
1.ORACLE中的FOR循环用法(九九乘法表) declare i ; j ; begin .. loop ..i loop Dbms_Output.put(i||'*'||j||'='||i*j); dbms_output.put(' '); end loop; dbms_output.new_line; end loop; end; 2.ORACLE中的While循环用法(九九乘法表) declare i ; j ; begin loop j:; while j<=i loop Dbms_…
oracle 中的游标 通俗易懂的sql代码直接上! --简单的游标使用滴呀 --使用FOR OBJ IN OBJS LOOP ......END LOOP; DECLARE CURSOR C_JOB IS SELECT NAME,COURSE,GREADE FROM STU; C_ROW C_JOB%ROWTYPE; BEGIN --利用for循环来使用取出我们的结果结合: FOR C_ROW IN C_JOB LOOP DBMS_OUTPUT.put_line(C_ROW.NAME||'--…
用了两年Oracle还没写过存储过程,真是十分惭愧,从今天开始学习Oracle存储过程,完全零起点,争取每日一篇学习笔记,可能开始认识的不全面甚至有错误,但坚持下来一定会有收获. . 建立一个存储过程 create or replace PROCEDURE firstPro IS BEGIN DBMS_OUTPUT.PUT_LINE('Hello World!'); END; 其中IS关键字替换为AS关键字结果不会出现任何变化,大多认为他们是等同的,但也有一种说法解释为:一般PACKAGE 或者…
在工作中需要完成这么一个需求:比较两个表的表结构是否形相同,并找出差异.比较两个表中的数据是否相同,并找出差异数据? 分析:由于表结构中字段比较多,手工比较很浪费时间,而且不能保证不出错误.对于表中的数据那就能多了,更不能靠这种方式比较. 为了思考问题简单和方便测试,首先先建立两个测试表,并插入一些测试数据吧,sql如下: create table t_A ( id VARCHAR2(36) not null, name VARCHAR2(100), age NUMBER, sex …
应用场景:将数据表TB_USER中字段NNDP的内容中为[sannanyinv]转换为[3男1女] 主要脚本:一个游标脚本+分割字符串函数+拼音转数字脚本 操作步骤如下: 1.创建类型 create or replace type splitTable is table of varchar2(100); 2.创建函数fn_splitString(功能是将字符串分割成多条记录)--测试语句select * from table(fn_splitString('ernanyinv','nan'))…
一.什么是Oracle执行计划? 执行计划是一条查询语句在Oracle中的执行过程或访问路径的描述 二.怎样查看Oracle执行计划? 2.1 explain plan for命令查看执行计划 在sql*plus中,执行如下命令: 1)explain plan for select * from XXXX; 2)select * from table(dbms_xplan.display); 2.2 SET AUTOTRACE ON查看执行计划 语法:SET AUTOT[RACE] {OFF |…
转载于:https://www.cnblogs.com/contixue/p/7057025.html Write a SQL query to get the second highest salary from the Employee table. +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 | | 2 | 200 | | 3 | 300 | +----+--------+ For example, given the…