PL/SQL学习笔记(五)
2023-09-11 14:16:03 时间
一。条件语句:
1。与delphi或者java,或者其他任何语言的条件语句基本一样咯:
单条件:
IF condition THEN
......
END IF;
双条件:
IF condition THEN
......
ELSE
...
END IF;
多条件:
IF condition THEN
...
ELSEIF conditon THEN
....
ELSEIF conditon THEN
....
ELSE
....
END IF;
举例:
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
二。CASE语句:
各种语言的switch ...case语句相同,只不过没有switch关键字。
1。使用单一选择符进行比较:
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![dot.gif](http://www.blogjava.net/Images/dot.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![dot.gif](http://www.blogjava.net/Images/dot.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![dot.gif](http://www.blogjava.net/Images/dot.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
END CASE;
2。多种条件比较:
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![dot.gif](http://www.blogjava.net/Images/dot.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![dot.gif](http://www.blogjava.net/Images/dot.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![dot.gif](http://www.blogjava.net/Images/dot.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
END CASE;
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![dot.gif](http://www.blogjava.net/Images/dot.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
(三)循环语句:
3种循环:
1。基本循环,至少执行一次:
LOOP
statement1;
...
EXIT WHEN 退出循环条件;
END LOOP1;
例如:
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
2。while循环:
WHILE conditon1 LOOP
statement1;
...
END LOOP;
比如上面的例子改写为:
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
![None.gif](http://www.blogjava.net/Images/OutliningIndicators/None.gif)
3。FOR循环,类似于ruby的FOR循环:
FOR counter IN [REVERSE] 下限..上限 LOOP
statement1;
...
END LOOP;
REVERSE参数可选,有的话表示从上限往下限递减。
(四)顺序控制语句
PL/SQL也提供了GOTO和NULL语句用于控制语句执行顺序,GOTO语句与JAVA的机制相似,通过label来实现跳转,尽量不要使用。NULL语句不会执行任何操作,它的存在主要是为了提高程序的可读性。
文章转自庄周梦蝶 ,原文发布时间2007 2 11
数据库小技能:PL/SQL中书写定义sql 触发器由数据库管理系统负责调用和执行,通过触发触发器所监听的事物来实现触发器的调用。 表级别的触发器(对于整个数据库表做监听) 行级别的触发器(对于表中的每一行做监听)
数据库小技能:PL/SQL(Procedure Language/SQL,过程化SQL语言)预备知识 过程化SQL语言(Procedural Language/SQL)是Oracle数据库对SQL语句的扩展:在普通SQL语句的使用上增加了编程语言的特点,把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算的程序语言。
第十二届 BigData NoSQL Meetup — 基于hbase的New sql落地实践 立即下载
相关文章
- SQL Pretty Printer sql 格式化
- sql 批量修改,Update Select 嵌套更新或批量更新一句SQL语句搞定,
- SQL案例分析-地铁换乘线路查询.sql
- PL/SQL个人学习笔记
- 第130章 SQL函数 SQRT
- 深入解析SQL Server并行执行原理及实践(上)
- SQL server审核/审计
- SQL学习笔记2-基础查询与排序
- SQL学习笔记/01-SQL的基本语句的使用
- sql server 小技巧(5) Sql server 获取指定字符后的所有字符 - 去掉指定字符前的所有字符
- sql server 小技巧(3) SQL Server 2012 数据库完整导出到SQL Azure (包括数据)
- 百倍性能的PL/SQL优化案例(r11笔记第13天)
- 怎样使用oracle 的DBMS_SQLTUNE package 来执行 Sql Tuning Advisor 进行sql 自己主动调优
- kali linux 网络渗透测试学习笔记(二)OWASP ZAP工具扫描SQL injection漏洞失败
- 【sql server安全】sql server使用混合密钥实现列加密
- 如何查看正在执行sql的语句及其父语句调用?如何查看正在执行SQL的具体参数值与执行计划?xml执行计划转为图形计划
- sql server系统表
- 教你管理SQL实例系列(1-15)
- Oracle与Sql server 在SQL上的不同
- sql-如何提高SQL查询的效率?
- SQL Server with(nolock)详解
- SQL题集(三)