1. oracle中case表达式
(case 条件
when 表达式1 then 结果1
when 表达式2 then 结果2
[else 结果n]
end) as 别名2. 简单循环loop
loop
要执行的语句;
exit when<条件> /*条件满足,退出循环语句*/
end loop;实际例子
loop
v_tmp := v_tmp + 1;
exit when v_tmp = 10;
end;3. while循环
while <布尔表达式> loop
要执行的语句;
end loop; ...
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
实例:
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_char(t.date,‘YYYYMM‘)=‘201606‘;---------lpad补位函数、replace替换函数、to_char日期转换函数 commit;end loop;end;有两种方式...
p_sum number := 0;p_i number;
Beginp_i := 1;Loopp_sum := p_sum + p_i;p_i := p_i + 1;If (p_i > 100) then SYS.Dbms_Output.Put_Line(p_sum); Exit;End if;End loop;
End;
while循环
Declarep_sum number := 0;p_i number;
Beginp_i := 1;While p_i <= 100 loopp_sum := p_sum + p_i;p_i := p_i + 1;End loop;Dbms_Output.Put_Line(p_sum);
End;
for循环
Declarep_sum number := 0;p_i number;
Beginp_i := 1;For p_i in 1...
loop 执行的语句; exit when 条件; end loop;declare--声明部分i number;
begin--代码开始
i := 1;loop--循环开始dbms_output.put_line(i); --输出语句i := i + 1;exit when i = 10;end loop; --循环结束end; --结束部分
案例2:while循环语法:while 条件 loop 执行的语句; end loop;declare--声明部分i number;begin--代码开始
i := 1;while i < 20 loop--循环开始dbms_output.put_line(i); --输出语句i...
针对用户特定的需求,然后我们创建出来一个最实用而且性能高的数据库!
数据库设计的步骤:
01.需求分析
02.概念结构设计
03.逻辑结构设计
04.物理机构设计
05.数据库的实施
06.数据库的运行和维护
数据库的3大范式:
1.确保每列的原子性!每一列都是一个不可再分的数据!
2.确保每列都和主键相关!
3.确保每列都和主键有直接的关系,而不是间接依赖(传递依赖)!
-------------------...
SELECT * FROM V$ACCESS WHERE OBJECT=‘CMSVOUCHER‘;
select * from dba_ddl_locks where name=‘CMSVOUCHER‘;
根据SID号查出会话信息:
select sid,serial# from v$session where sid in(‘78‘,‘209‘);
kill掉:
alter system kill session ‘78,4883‘;
alter system kill session ‘209,57021‘;重新编译了包和包体--编译成功,包debug调试正常。问题到此解决。oracle plsql 上对package 包执行重新编译时,超时无响应:(...
在linux CentOS 64位机上安装完 oracle 11g以后,出现如下问题: sqlplus: error while loading shared libraries: /home/zhang/app/zhang/product/11.2.0/dbhome_1/lib/libclntsh.so.11.1: cannot restore segment prot after reloc: Permission denied 解在linux CentOS 64位机上安装完 oracle 11g以后,出现如下问题:
sqlplus: error while loading shared libraries: /home/zhang/app/zhang/product/11.2.0/dbhome_1/lib/libc...
Oracle PLSQL 在游标中用while循环实例程序Oracle PLSQL 在游标中用while循环实例程序Oracle PLSQL 在游标中用while循环实例程序declarecursor emp_cur is select * from emp;v_emp emp%rowType;beginopen emp_cur;while emp_cur%notfound --while肯定要跟loop一起用的 且是控制循环体的
loopfetch emp_cur into v_emp;dbms_output.put_line(v_emp.ename);end loop;close emp_cur;end;//实例二
关于cursor循环,有两种方式:
1. 使...
一、PL/SQL的控制结构,包括选择结构、循环结构和跳转结构 一、PL/SQL的控制结构,包括选择结构、循环结构和跳转结构
相关阅读:
rlwrap - 解决Linux下SQLPLUS退格、上翻键乱码问题
SQLPLUS spool 到动态日志文件名
Oracle SQLPLUS提示符设置
通过设置SQLPLUS ARRAYSIZE(行预取)加快SQL返回速度 1、选择结构 (1)IF语句
IF condition1 THEN statement1 ;[ ELSIF condition2 THEN statement2 ; ]...[ ELSE else_statements ; ]E...
原文链接:http://www.cnblogs.com/leodrain/archive/2008/06/17/oralce-internal-error-and-solve-method.html前段时间,甲方要求将我们的应用系统以及数据库转移到一台新的服务器上。安装软件完成,修改好参数配置,然后测试连接数据库时,突然发生两个ORALCE错误:ORA-00604: error occurred at recursive SQL level 1
ORA-12705: invalid or unknown NLS parameter value specified
===================
这两个错误很陌生,以...
https://www.cnblogs.com/sunny-sl/p/6611928.html
https://blog.csdn.net/qq_33301113/article/details/714392281.ORACLE中的GOTO用法 1
2
3
4
5
6
7
8
9
10
11DECLARE
??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循环用法 1 DECLARE2 X number; --声明变...