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循环的更多相关文章

  1. PL/SQL 循环语句

    1.基本 LOOP 循环语句 语法: LOOP 语句序列; END LOOP; 其中,语句序列中需要一个EXIT语句或一个EXIT WHEN语句来中断循环. 实例: DECLARE x ) :; BE ...

  2. Oracle语句块PL/SQL循环判断

    - --pl/sql Procedural Language /sql --被数据库编译保存,由用户调用 --程序块 /* 语法 Declare – 声明变量 --声明变量 Age int; //没有 ...

  3. 五、PL/SQL循环、游标、函数和过程

    --PL/SQL基础知识学习 --一.PL/SQL语句块,基础语法格式 DECLARE --变量声明列表 info varchar(25); --变量声明 stu_unm integer := 15; ...

  4. PL/SQL 循环

    ----PL/SQL基本循环语句 LOOP DECLARE x ; BEGIN LOOP dbms_output.put_line(x); x :; THEN exit; END IF; END LO ...

  5. PL/SQL 循环结构

    (1)LOOP...EXIT...END语句示例: control_var:; LOOP then EXIT; END IF; control_var:; END LOOP; 上述,初始化contro ...

  6. pl/sql实现打印九九乘法表

    学习PL/SQL循环的时候写的,记录一下. declare v_number1 ); -- 外层循环变量 v_number2 ); -- 内层循环变量 begin .. -- 开始外层循环 loop ...

  7. Oracle PL/SQL中的循环处理(sql for循环)

    今天来说下Oracle中的循环迭代处理,因为从自己的博客统计中看到,不少网友都搜索了关键字"SQL FOR循环",所以打算在这里说下个人的理解. PL/SQL也和我们常用的编程语言 ...

  8. Oracle PL/SQL之LOOP循环控制语句

    在PL/SQL中可以使用LOOP语句对数据进行循环处理,利用该语句可以循环执行指定的语句序列.常用的LOOP循环语句包含3种形式:基本的LOOP.WHILE...LOOP和FOR...LOOP. LO ...

  9. Oracle笔记 八、PL/SQL跳转/判断/循环语句块

    --goto跳转语句 --在goto 后,跳转到相应的语句,然后执行该语句和后面所有语句 begin dbms_output.put_line('goto开始了'); goto c; --不被执行 d ...

随机推荐

  1. go-使用 unsafe 修改 struct 中的 field 的值

    以下是方法,不要纠结原理,等东西积累多了,你才有能力纠结原理: 首先,你需要有一个这样的函数,这是在 nsq 的源码里直接抄过来的: func unsafeValueOf(val reflect.Va ...

  2. java web学习总结(二十七) -------------------JSP标签介绍

    一.JSP标签介绍 JSP标签也称之为Jsp Action(JSP动作)元素,它用于在Jsp页面中提供业务逻辑功能,避免在JSP页面中直接编写java代码,造成jsp页面难以维护. 二.JSP常用标签 ...

  3. IntelliJ IDEA使用(一):创建maven web项目

    在公司用eclipse开发maven web项目后,慢慢开始明白大家的那句话"受不了eclipse".的确,在开发大型的web项目,尤其是maven构建的项目,eclipse很不友 ...

  4. MyEclipse相关部署问题

    部署Tomcat如果用MyEclipse自动部署方式很有可能出现一个问题: 服务器关联的这个项目却关联到其他的项目上,导致运行时还在运行以前的项目 解决方法: 将状态提示栏的service里的tomc ...

  5. 菜鸟快飞之JavaScript对象、原型、继承(三)

    正文之前需要声明的一点是,菜鸟系列博文全是基于ES5的,不考虑ES6甚至更高版本. 继承 由于我个人不是学计算机的,所以对于很多东西只是知其然,不知其所以然.就像这个继承,刚开始学JavaScript ...

  6. HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本 ,请添加处理程序。如果下载文件,请添加 MIME 映射。 IIS站点中添加WCF项目后浏览网站报错解决方法。

    vs2013 wcf服务 windows10 家庭中文版 上图中的红色没有出现就按照下面的方法做: 按照上图所示勾选. 刷新上图中你的网站,查看上图右边的内容是否出现,如果出现,再次重新浏览网站,看一 ...

  7. sass安装

    第一步:下载ruby http://www.ruby-lang.org/zh_cn/downloads/ 第二步:安装ruby http://www.ruby-lang.org/zh_cn/docum ...

  8. 从无到有实现登录功能以及thinkphp怎么配置数据库信息

    好开心,终于解决了.从学习android到现在写登录功能已经不是一次两次了,如今再写想着肯定是信手拈来,没有想到的是尽然折磨了我一天的时间才搞定它.唉...... 先来看几张截图,这次的登录跟以往的不 ...

  9. (十三)Maven插件解析运行机制

    这里给大家详细说一下Maven的运行机制,让大家不仅知其然,更知其所以然. 1.插件保存在哪里? 与我们所依赖的构件一样,插件也是基于坐标保存在我们的Maven仓库当中的.在用到插件的时候会先从本地仓 ...

  10. monkey命令选项参考

    基本参数:     --help              打印帮助消息 -v  可以在命令行中出现多次,每次一个-V选项都会增加monkey向命令行打印输出的详细级别.默认的级别0只会打印启动信息. ...