Oracle之PL/SQL
基础语法
[declare
--定义部分]
begin
--执行部分
[exception
--异常处理部分]
end;
其中,定义部分以declare开始,该部分是可选的;执行部分以begin开始,该部分是必须的
异常部分以exception开始,该部分是可选的.而end则是pl/sql块的结束标记.
注意我使用的Oracle安装时自带的 SQL Plus请注意第一行命令.否则控制台不输出内容.
当结束时,请输入 / 然后回车.
常用变量类型
char() varchar2() number() date;
运算符与表达式
if分支语句
if 条件 then
执行语句;
elsif 条件 then
执行语句;
else
执行语句;
end if;
(这个写法去掉 then 和java中的 if else if else 一样.看起来好恶心的语法 )记得最后end if; 结尾
切记 除了 else 分支其他分支都要带 then
case语句
case 条件
when 值 then 执行语句
when 值 then 执行语句
....
else 执行语句
end;
case 是可以有返回值的.
将 case 的执行结果赋值给 b; 但是,如果我们让case 有返回值,在case语句结束后就不能是 end case;而只能是end;
循环语句
基本循环
loop
执行体
exit when 条件;
end loop;
注意!这种写法,执行体肯定会执行一次.而 exit 中的条件满足是 停止循环.
程序自上而下执行.
while循环
while 条件 loop
循环体
end loop;
for循环
for 被循环结果赋值 in [reverse] 开始..结束 loop
循环体
end loop;
可以看出for循环的 执行顺序是 判断开始和结束条件.满足赋值给 i.执行循环体,然后再次判断.
for循环中的 i 可以不被声明. 开始条件和结束条件也可以是变量,但是只能是number类型
但是如果被赋值的变量不存在.则无法在循环调用结束后使用该变量.
reverse 的作用则是 ++ 变成 --
goto语句一个破坏力极强的语句
goto 将跳转到 定义好的 标记处.设置标记的 符号为 <<标记>>
null
null特殊的很.首先两个null不相等 null本身不等于null ,判断是否为null 只能使用 is null
复合变量
标准变量只可以保存单个数值,与之对应的就是复合变量.复合变量可以将不同数据类型的多个值
存储在同一个单元中.
%type变量
此变量为不确定类型的变量.变量的具体类型由赋值给他的表字段类型一致.
使用 select into 语句可以将查询出来的值赋值给变量;但是注意使用%type赋值
必须保证赋值的结果是单行单列.
%rowtype变量
%rowtype声明表示一行记录的变量(一个对象),你将一个表中的数据结构赋值给变量x
Oracle之PL/SQL的更多相关文章
- Oracle中PL/SQL的执行部分和各种流程控制
Oracle中PL/SQL的执行部分和异常部分 一.PL/SQL的执行部分. 赋值语句. 赋值语句分两种,一种是定义一个变量,然后接收用户的IO赋值:另一种是通过SQL查询结果赋值. 用户赋值举例: ...
- Oracle中PL/SQL简介、基本语法以及数据类型
Oracle中PL/SQL简介.基本语法以及数据类型 一.PL/SQL简介. Oracle PL/SQL语言(Procedural Language/SQL)是结合了结构化查询和Oracle自身过程控 ...
- 使用oracle 的 PL/Sql 定时执行一个存储过程
CSDN日报20170322--<关于软件研发的一些体会总结> 同步博客至 CSDN ,让更多开发者看到你的文章 看微博技术大咖解析互联网应用架构实战 使用oracle 的 PL/Sql ...
- Oracle之PL/SQL学习笔记
自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家 ...
- 【SQL】Oracle的PL/SQL语法及其拓展数据类型总结
PL/SQL语法 PL/SQL程序由三部分组成,声明部分.执行部分.异常处理部分. 模板: DECLARE /*变量声明*/ BEGIN /*程序主体*/ EXCEPTION /*异常处理部分*/ E ...
- Oracle实践--PL/SQL表分区的基础
PL/SQL基础入门之表分区 PL/SQL:过程语言(Procedure Language)和结构化语言(Structured Query Language)结合而成的编程语言.是对SQL的扩展.支 ...
- C#(在WeBAPI)获取Oracle(在PL/SQL)游标类型的存储过程(用到了RefCursor)
需求:WebAPI服务端,通过Oracle数据库的存储过程,获取数据. 在PL/SQL 建立存储过程:(先来最简单的,就是把整个表都查出来) create or replace procedure S ...
- 【Oracle】PL/SQL 显式游标、隐式游标、动态游标
在PL/SQL块中执行SELECT.INSERT.DELETE和UPDATE语句时,Oracle会在内存中为其分配上下文区(Context Area),即缓冲区.游标是指向该区的一个指针,或是命名一个 ...
- Oracle数据库PL/SQL那点事情---修改过电脑的用户名
在安装Oracle数据库的PL/SQL工具时候,电脑名称是重装系统后自动生成的用户名名称,作为程序员,有很强的强迫症,就想利用自己的英文名称作为自己电脑的名称,所以就修改了电脑的名称:结果PL/SQL ...
- ORACLE FORMS PL/SQL PACKAGE SHOW TIPS WINDOW
--在开发ORACLE FORM的程序中,要编写PL/SQL程序包产出异常情况时,直接在FORM弹出一个异常提示窗口 DECLARE BEGIN app_exception.raise_excepti ...
随机推荐
- windows 安装gitea
gitea 地址https://github.com/go-gitea/gitea windows 安装
- 2019-11-25-win10-uwp-通过命令行脚本开启旁加载
原文:2019-11-25-win10-uwp-通过命令行脚本开启旁加载 title author date CreateTime categories win10 uwp 通过命令行脚本开启旁加载 ...
- C++中Lambda表达式转化为函数指针
// ----------------------------------------------------------- auto combineCallbackLambda = [](GLdou ...
- LinuxShell——变量
LinuxShell——变量 摘要:本文主要学习了Shell命令中的变量. 什么是变量 简单的说,变量就是让某一个特定字串代表不固定的内容. 变量是计算机内存的单元,其中存放的值可以改变.当Shell ...
- jsonHelper帮助类
使用前,需引用开源项目类using Newtonsoft.Json 链接:https://pan.baidu.com/s/1htK784XyRCl2XaGGM7RtEg 提取码:gs2n using ...
- xcode6新建工程
xcode6中新建空工程 (2014-10-29 13:14:44) 转载▼ 标签: it ios 分类: iOS 升级xcode6之后,直接建立Empty工程后发现,这是太坑,真的是什么都没有啊.只 ...
- Google Analytics 学习笔记二 —— GA部署
一.直接部署 直接复制GA跟踪代码 放到所有页面 跟踪代码放到 "head"前面 二.GTM部署方法一 三.GTM部署方法二 Tacking ID 四.测试.参数配置与调优
- Python实现MQTT接收订阅数据
一.背景 目前MQTT的标准组织官网:http://www.mqtt.org,里面列出了很多支持的软件相关资源. 一个轻量级的MQTT服务器是:http://www.mosquitto.org,可以运 ...
- Linux磁盘分区/格式化/挂载目录
分区及挂载目录 以CentOS7.2为例,一般我们服务端应用部署前需要确认部署机的磁盘空间及挂载目录.操作如下: 如上图,如果操作系统是新装的,未挂盘的话需要先挂载盘.操作如下: fdisk -l # ...
- java中方法的重载和覆盖分别要满足的条件
1.重载:遵循“两同三不同” 两同:同一个类中的同名方法 三不同:形参的类型,个数,顺序不同 特别提醒: 返回值不同构不能方法重载 形参名称不同构不成方法重载 2.覆盖(重写)的要求 子类方法的名称, ...