Oracle笔记 八、PL/SQL跳转/判断/循环语句块
--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跳转/判断/循环语句块的更多相关文章
- Java学习笔记八:Java的流程控制语句之循环语句
Java的流程控制语句之循环语句 一:Java循环语句之while: 生活中,有些时候为了完成任务,需要重复的进行某些动作.如参加 10000 米长跑,需要绕 400 米的赛道反复的跑 25 圈.在 ...
- Oracle中使用PL/SQL如何定义参数、参数赋值、输出参数和 if 判断
1.pl/sql如何定义参数 declare --1)定义参数 -- ban_Id number; ban_Name ); 2.pl/sql如何参数赋值 --2)参数赋值-- ban_Id :; ba ...
- Oracle数据库之PL/SQL流程控制语句
Oracle数据库之PL/SQL流程控制语句 在任何计算机编程语言(如C,Java,C#等)都有各种流程控制语句,同样,在PL/SQL中也存在这样的流程控制结构. 几种常见的流程控制结构: 一.条件结 ...
- oracle系列(四)PL/SQL
过程,函数,触发器是PL/SQL编写的,存储在oracle中的.PL/SQL是非常强大的数据库过程语言. PL/SQL优点:性能,模块化,网络传输量,安全性缺点:移植性不好 简单分类:块:过程,函数, ...
- oracle数据库之PL/SQL 块结构和组成元素
一.PL/SQL 块 (一)PL/SQL 程序由三个块组成,即声明部分.执行部分.异常处理部分 PL/SQL 块的结构如下: 1.DECLARE /* 声明部分: 在此声明 PL/SQL 用到的变量, ...
- 每周一书《Oracle 12 c PL(SQL)程序设计终极指南》
本周为大家送出的书是<Oracle 12 c PL(SQL)程序设计终极指南>,此书由机械工业出版社出版, 孙风栋,王澜,郭晓惠 著. 内容简介: <Oracle 12c PL/SQ ...
- 《oracle每日一练》免安装Oracle客户端使用PL/SQL
免安装Oracle客户端使用PL/SQL Oracle客户端挺招人烦的,部署连接它的应用通常需要先安装它的客户端,安装程序要求在目标机器上写注册表,假设你没有洁癖的话,你仍可能被下面的事情绊住:当你的 ...
- Oracle 客户端安装 + pl/sql工具安装配置
Oracle 客户端安装 + pl/sql工具安装配置 下载oracle客户端,并在本地安装. 11g下载地址为: http://www.oracle.com/technetwork/databas ...
- oracle instantclient basic +pl/sql 安装和配置
oracle instantclient basic +pl/sql 安装和配置 大家都知道,用PL/SQL连接Oracle,是需要安装Oracle客户端软件的,oracle客户端有点大,比较耗资源. ...
随机推荐
- HDU 2516 取石子游戏(斐波那契博弈)
取石子游戏 Time Limit: 2000/1000 MS(Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submissi ...
- Hololens开发笔记之使用Unity开发一个简单的应用
一.Hololens概述 Hololens有以下特性 1.空间映射借助微软特殊定制的全息处理单元(HPU),HoloLens 实现了对周边环境的快速扫描和空间匹配.这保证了 HoloLens能够准确地 ...
- 转-Android客户端和服务端如何使用Token和Session
http://www.software8.co/wzjs/yidongkaifa/6407.html 对于初学者来说,对Token和Session的使用难免会限于困境,开发过程中知道有这个东西,但却不 ...
- Tornado
Tornado 是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像web.py 或者 Google 的 webapp,不过为了能有效 ...
- APPDelegate----launchOptions启动类型
IOS 中的 AppDelegate.m/h 文件是很重要的呢,因为它是对 Application 的整个生命周期进行管理的. 先明白,每个iPhone应用程序都有一个UIApplication,UI ...
- 修改VNC访问的密码
:vncserver :iptables -I INPUT -p tcp --dport -j ACCEPT 客户端方式 :iptables -I INPUT -p tcp --dport -j AC ...
- SVN安装及常见问题解决
一.SVN简介 SVN作为以一种崛起的版本管理工具,是CVS的接班人.对于概念性的介绍我这里就不多赘述,网上很多介绍. 工作流程如下图: 二.安装 SVN的重要性就不再赘述,这里以Versionsv1 ...
- Dephi的同一个线程支持累次Execute吗
Suspend放到循环里------解决方案--------------------执行完不结束只休眠.另外还需要线程池.------解决方案-------------------- while ...
- DELPHI下的SOCK编程(转)
DELPHI下的SOCK编程 本文是写给公司新来的程序员的,算是一点培训的教材.本文不会涉及太多的编程细节,只是简单讲解在DELPHI下进行Winsock编程最好了解的知识. 题外话:我认为 ...
- 如何正确地使用Python的属性和描述符
关于@property装饰器 在Python中我们使用@property装饰器来把对函数的调用伪装成对属性的访问. 那么为什么要这样做呢?因为@property让我们将自定义的代码同变量的访问/设定联 ...