--goto跳转语句

--在goto 后,跳转到相应的语句,然后执行该语句和后面所有语句

begin

     dbms_output.put_line('goto开始了');

     goto c;

          --不被执行

          dbms_output.put_line('goto');

          dbms_output.put_line('goto');

          dbms_output.put_line('goto');

          dbms_output.put_line('goto');

    <<a>>

           dbms_output.put_line('goto aaa');           

    <<b>>

           dbms_output.put_line('goto bbb');

    <<c>>

           dbms_output.put_line('goto ccc');

end;   

 

--PL/SQL中的sql和rowcount属性:sql代表最近执行的sql语句,rowcount代表最近执行的sql语句影响的行数

declare

  vCount number;

  vDeptno dept2.deptno%type := 10;

begin

  --select count(*) into vCount from dept2;

  --update dept2 set dname = dname || '~.~' where deptno = vDeptno;

  --delete from dept2 where deptno = 40;

  insert into dept2 select * from dept;

  dbms_output.put_line('count:' || vCount);

  dbms_output.put_line(sql%rowcount || '行受影响');

end;

 

--PL/SQL执行sql语句

begin

  execute immediate 'create table temp as select * from dept';

end;

 

--动态sql,把sql语句放到变量中并传递参数

declare

     sqlstr varchar2(100);

begin

     sqlstr := 'insert into scott.dept values(12, :1, :abc)';

     --变量是按照占位符顺序插入的

     execute immediate sqlstr using '教务部', '武汉';

end;

 

select * from scott.dept;

 

--动态sql,把查询结果赋值给变量

declare

       dept_row_data scott.dept%rowtype;

       sqlstr varchar2(100);

begin

     sqlstr := 'select * from scott.dept where deptno = 11';

     execute immediate sqlstr into dept_row_data;

     dbms_output.put_line(dept_row_data.deptno);

end;

 

--if 语句

--select * from emp;

declare

     vSal emp.sal%type;

begin

  select sal into vSal from emp where empno = 7566;

  if (vSal < 1200) then

    dbms_output.put_line('小于1200');

  elsif (vSal < 2000) then

    dbms_output.put_line('小于2000');

  else

    dbms_output.put_line('大于2000');

  end if;

end;  

 

--loop循环

declare

  i binary_integer := 10;

begin

  loop

    dbms_output.put_line(i);

    i := i - 1;

    exit when(i < 1);

  end loop;

end;

 

--while循环

declare

  i binary_integer := 1;

begin

  while i < 11 loop

     dbms_output.put_line(i);

     i := i + 1;

  end loop;

end;

 

--for 循环

begin

  for i in 1..10 loop

    dbms_output.put_line(i);

  end loop;

  for i in reverse 1..10 loop

    dbms_output.put_line(i);

  end loop;

end;

Oracle笔记 八、PL/SQL跳转/判断/循环语句块的更多相关文章

  1. Java学习笔记八:Java的流程控制语句之循环语句

    Java的流程控制语句之循环语句 一:Java循环语句之while: 生活中,有些时候为了完成任务,需要重复的进行某些动作.如参加 10000 米长跑,需要绕 400 米的赛道反复的跑 25 圈.在 ...

  2. Oracle中使用PL/SQL如何定义参数、参数赋值、输出参数和 if 判断

    1.pl/sql如何定义参数 declare --1)定义参数 -- ban_Id number; ban_Name ); 2.pl/sql如何参数赋值 --2)参数赋值-- ban_Id :; ba ...

  3. Oracle数据库之PL/SQL流程控制语句

    Oracle数据库之PL/SQL流程控制语句 在任何计算机编程语言(如C,Java,C#等)都有各种流程控制语句,同样,在PL/SQL中也存在这样的流程控制结构. 几种常见的流程控制结构: 一.条件结 ...

  4. oracle系列(四)PL/SQL

    过程,函数,触发器是PL/SQL编写的,存储在oracle中的.PL/SQL是非常强大的数据库过程语言. PL/SQL优点:性能,模块化,网络传输量,安全性缺点:移植性不好 简单分类:块:过程,函数, ...

  5. oracle数据库之PL/SQL 块结构和组成元素

    一.PL/SQL 块 (一)PL/SQL 程序由三个块组成,即声明部分.执行部分.异常处理部分 PL/SQL 块的结构如下: 1.DECLARE /* 声明部分: 在此声明 PL/SQL 用到的变量, ...

  6. 每周一书《Oracle 12 c PL(SQL)程序设计终极指南》

    本周为大家送出的书是<Oracle 12 c PL(SQL)程序设计终极指南>,此书由机械工业出版社出版, 孙风栋,王澜,郭晓惠 著. 内容简介: <Oracle 12c PL/SQ ...

  7. 《oracle每日一练》免安装Oracle客户端使用PL/SQL

    免安装Oracle客户端使用PL/SQL Oracle客户端挺招人烦的,部署连接它的应用通常需要先安装它的客户端,安装程序要求在目标机器上写注册表,假设你没有洁癖的话,你仍可能被下面的事情绊住:当你的 ...

  8. Oracle 客户端安装 + pl/sql工具安装配置

    Oracle 客户端安装 +  pl/sql工具安装配置 下载oracle客户端,并在本地安装. 11g下载地址为: http://www.oracle.com/technetwork/databas ...

  9. oracle instantclient basic +pl/sql 安装和配置

    oracle instantclient basic +pl/sql 安装和配置 大家都知道,用PL/SQL连接Oracle,是需要安装Oracle客户端软件的,oracle客户端有点大,比较耗资源. ...

随机推荐

  1. POJ 1269 Intersecting Lines(计算几何)

    题意:给定4个点的坐标,前2个点是一条线,后2个点是另一条线,求这两条线的关系,如果相交,就输出交点. 题解:先判断是否共线,我用的是叉积的性质,用了2遍就可以判断4个点是否共线了,在用斜率判断是否平 ...

  2. NeHe OpenGL教程 第十一课:飘动的旗帜

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  3. 0808HTML

    打开DREAMWEAVER,新建HTML,页面上有几句代码 <html>开始标签 <head>网页上的控制信息 <title>页面标题</title> ...

  4. SharedPreferences实现自动登录记住用户名密码

    最近Android项目需要一个自动登录功能,完成之后,特总结一下,此功能依靠SharedPreferences进行实现.   SharedPreferences简介 SharedPreferences ...

  5. Introduction to ASP.NET Web Programming Using the Razor Syntax (C#)

    1, http://www.asp.net/web-pages/overview/getting-started/introducing-razor-syntax-c 2, Introduction ...

  6. GC之三--GC 触发Full GC执行的情况及应对策略

    1.System.gc()方法的调用 此方法的调用是建议JVM进行Full GC,虽然只是建议而非一定,但很多情况下它会触发 Full GC,从而增加Full GC的频率,也即增加了间歇性停顿的次数. ...

  7. Python进阶07 函数对象

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 秉承着一切皆对象的理念,我们再次回头来看函数(function).函数也是一个对象 ...

  8. jps命令

    转载:http://blog.csdn.net/wanglha/article/details/40181701 ps -- JavaVirtual Machine Process Status To ...

  9. 基于NPOI的Execl导入导出例子

    源地址:http://bbs.csdn.net/topics/390830774

  10. Django session 详解-part II-session

    Django中的session是一个高级工具,它可以让用户存储个人信息以便在下次访问网站中使用这些信息.session的基础还是cookie,但是它提供了一些更加高级的功能.请看下面的一个例子: 使用 ...