PL/SQL循环
1.if循环做判断
SET SERVEROUTPUT ON
accept num prompt 'qinshuu';
DECLARE
pnum NUMBER :=& num ;
BEGIN
IF pnum = 0 THEN
SYS.DBMS_OUTPUT.PUT_LINE ('') ;
ELSIF pnum = 1 THEN
dbms_output.put_line ('') ;
ELSE
DBMS_OUTPUT.PUT_LINE ('') ;
END
IF ;
END ;
/
2.引用变量
SET SERVEROUTPUT ON
DECLARE
pename emp.ename%type;
psal emp.sal%type;
BEGIN
SELECT ename,sal into pename,psal FROM emp where empno= 7902;
dbms_output.put_line(pename ||'hahah'||psal);
end;
/
3.基本变量 char类型会补全
set SERVEROUTPUT ON
DECLARE
var_char1 char;
var_char2 CHAR(20);
BEGIN
var_char1 :='a';
var_char2 :='abc';
DBMS_OUTPUT.PUT_LINE('var_char1 is' ||var_char1||'*');
DBMS_OUTPUT.PUT_LINE('var_char2 is' ||var_char2||'*');
end;
/
/*
PL/SQL 过程已成功完成。
var_char1 isa*
var_char2 isabc *
*/
4.while循环10次
SET SERVEROUTPUT ON
DECLARE pnum NUMBER := 1 ;
BEGIN
while pnum <= 10
loop dbms_output.put_line (pnum) ;
pnum := pnum + 1 ;
END loop ;
END ;
/
5.loop循环
SET SERVEROUTPUT ON
DECLARE pnum NUMBER := 1 ;
BEGIN
loop exit
WHEN pnum > 10 ;
dbms_output.put_line (pnum) ;
pnum := pnum + 1 ;
END loop ;
END ;
/
6.for循环
SET SERVEROUTPUT ON
DECLARE pnum NUMBER := 1 ;
BEGIN
FOR pnum IN 1..10
loop DBMS_OUTPUT.PUT_LINE (pnum) ;
END loop ;
END ;
/
7.游标打印所有人薪水
SET SERVEROUTPUT ON
DECLARE CURSOR cemp IS SELECT
ENAME,
sal
FROM
EMP ;
pename emp.ename % TYPE ;
psal emp.sal % TYPE ;
BEGIN
OPEN cemp ;
loop FETCH cemp INTO pename,
psal ; exit
WHEN cemp % notfound ;
dbms_output.put_line (pename || 'xin shui shi' || psal) ;
END loop ; CLOSE cemp ;
END ;
/
8.游标所有人涨薪水
set SERVEROUTPUT ON
DECLARE
CURSOR cemp is select empno,job FROM emp;
pempno EMP.EMPNO%type;
pjob emp.job%type;
begin
open cemp;
loop
fetch cemp into pempno,pjob;
exit when cemp%notfound;
if pjob = 'PRESIDENT' then update emp set sal = sal+1000 where empno = pempno;
elsif pjob='MANAGER' then update emp set sal = sal+800 where empno = pempno;
else update emp set sal = sal+400 where empno = pempno;
end if;
end loop;
close cemp;
commit;
dbms_output.put_line('wanc');
end;
/
9.游标自定义选项
SET SERVEROUTPUT ON
DECLARE CURSOR cemp (dno NUMBER) IS SELECT
ename
FROM
emp
WHERE
deptno = dno ; pename emp.ename % TYPE ;
BEGIN
OPEN cemp (20) ; loop FETCH cemp INTO pename ; exit
WHEN cemp % notfound ; dbms_output.put_line (pename) ;
END loop ; CLOSE cemp ;
END ;
/
备注:实验环境为orcle SQL Developer;
sys登录为系统自带scott解锁并且授予SCOTT用户开发权限
ALTER USER scott IDENTIFIED BY xxxxxx ACCOUNT UNLOCK;
GRANT RESOURCE TO scott;

PL/SQL循环的更多相关文章
- PL/SQL 循环语句
1.基本 LOOP 循环语句 语法: LOOP 语句序列; END LOOP; 其中,语句序列中需要一个EXIT语句或一个EXIT WHEN语句来中断循环. 实例: DECLARE x ) :; BE ...
- Oracle语句块PL/SQL循环判断
- --pl/sql Procedural Language /sql --被数据库编译保存,由用户调用 --程序块 /* 语法 Declare – 声明变量 --声明变量 Age int; //没有 ...
- 五、PL/SQL循环、游标、函数和过程
--PL/SQL基础知识学习 --一.PL/SQL语句块,基础语法格式 DECLARE --变量声明列表 info varchar(25); --变量声明 stu_unm integer := 15; ...
- PL/SQL 循环
----PL/SQL基本循环语句 LOOP DECLARE x ; BEGIN LOOP dbms_output.put_line(x); x :; THEN exit; END IF; END LO ...
- PL/SQL 循环结构
(1)LOOP...EXIT...END语句示例: control_var:; LOOP then EXIT; END IF; control_var:; END LOOP; 上述,初始化contro ...
- pl/sql实现打印九九乘法表
学习PL/SQL循环的时候写的,记录一下. declare v_number1 ); -- 外层循环变量 v_number2 ); -- 内层循环变量 begin .. -- 开始外层循环 loop ...
- Oracle PL/SQL中的循环处理(sql for循环)
今天来说下Oracle中的循环迭代处理,因为从自己的博客统计中看到,不少网友都搜索了关键字"SQL FOR循环",所以打算在这里说下个人的理解. PL/SQL也和我们常用的编程语言 ...
- Oracle PL/SQL之LOOP循环控制语句
在PL/SQL中可以使用LOOP语句对数据进行循环处理,利用该语句可以循环执行指定的语句序列.常用的LOOP循环语句包含3种形式:基本的LOOP.WHILE...LOOP和FOR...LOOP. LO ...
- Oracle笔记 八、PL/SQL跳转/判断/循环语句块
--goto跳转语句 --在goto 后,跳转到相应的语句,然后执行该语句和后面所有语句 begin dbms_output.put_line('goto开始了'); goto c; --不被执行 d ...
随机推荐
- 为什么applicationContext.xml和spring-servlet.xml中都有注解过滤<context:component-scan base-package="myproject"> 和<context:component-scan base-package="myproject.controller" />
在刚学习SpringMVC框架整合时,你也许会产生疑问为什么Spring.xml和SpringMVC.xml中都有注解过滤. <context:component-scan base-packa ...
- 生成Tab键或逗号分隔的CSV
<?php header("Content-type:text/csv;charset=utf-8"); header("Content-Disposition:a ...
- 来玩Play框架01 简介
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 说到网络框架,Ruby的Ruby on Rail和Python的Django都相当 ...
- 共享Excel编辑的一些资源
官方资料: 使用共享工作簿进行协作 相关介绍文章: http://www.ittribalwo.com/article/678.html http://www.wuji8.com/meta/85646 ...
- SpringMVC的执行流程(二)
文字解析: 1.客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配 DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交 ...
- 在xcode中用 swift 进行网络服务请求
xcode集成开发环境是运行于Mac苹果电脑上用于开发swift应用程序的工具,利用xcode可以很方便.直观的开发OS X和iOS系统所支持的应用程序. 1 开发环境: Mac OS 10.11 X ...
- 【IOS开发笔记03-视图相关】简单计算器的实现
UIView 经过前几天的快速学习,我们初步了解的IOS开发的一些知识,中间因为拉的太急,忽略了很多基础知识点,这些知识点单独拿出来学习太过枯燥,我们在今后的项目中再逐步补齐,今天我们来学习APP视图 ...
- 使用AxisHelper帮助理解View and Data API中的坐标系统
大家使用View and Data API做三维模型开发,必然首先要理解View and Data API的坐标系统,即XYZ三个轴向分别是怎么定义的.Three.js里面提供了一个AxisHelpe ...
- Android GZIP压缩IO流,优化APP数据传输(一)
我是小搬运工,今天讲解流的压缩传输 在我们安卓开发中,通常伴随着大量的数据传输,在此,楼主给出一个简单的压缩流的数据进行操作. public void GZIPCpf(String path) { / ...
- SQL server学习
慕课网sql server学习 数据库第一印象:desktop--web server--database server** 几大数据库:sql server.oracle database.DB2. ...