【Oracle】-初识PL/SQL
在最近的工作中要用到存储过程和函数,索性把PL/SQL整体的看一下。之前看过基本书和园子里的博文,在这里将所学简单总结。
一、基本语句
1、大小写
2、分隔符 -- ;
3、引用字符串 -- ‘ ’
4、括号 -- ( )
二、数据类型
1、标量类型
1>数字类型 -- NUMBER等
2>字符类型 -- CHAR VARCHAR
3>日期类型 -- DATE TIMESTAMP INTERVAL
4>行标识类型 -- ROWID UROWID
5>布尔类型 -- TURE FALSE NULL
2、复合类型
1>记录 -- 类似C语言的结构体
2>联合数组
3>嵌套表
4>变长数组
3、引用类型
1>游标
2>REF类型
4、LOB类型
三、基本结构
1、声明部分 -- DECLARE开头
2、执行部分 -- BEGIN开头,END结束
3、异常处理 -- EXCEPTION开头
四、常量
常量名 CONSTANT 类型标识符[NOT NULL] := 值;
PI CONSTANT NUMBER(9) := 3.1415926;
五、变量
变量名 类型标识符[NOT NULL]:= 值;
%TYPE使变量获得字段的数据类型
%ROWTYPE使变量获得整个记录的数据类型
六、表达式
数值表达式:+ - * / **(乘方)
字符表达式:由连接符||组成的
关系表达式:< > == <= >= != ALL ANY BETWEEN EXISTS IN IS LIKE
逻辑表达式:NOT OR AND
七、运算符
集合运算符:INTERSECT MINUS UNION UNION ALL
行运算符: ALL DISTINCT PRIOR(树形查询时返回当前行的父级行)
八、条件控制
1、IF条件
IF···THEN···END IF;
IF···THEN···ELSE···END IF;
IF···THEN···ELSIF···THEN···ELSE···END IF;
2、CASE条件
CASE 表达式
WHEN 值1 THEN
···············;
WHEN 值2 THEN
···············;
········
ELSE
···············;
END CASE;
3、搜寻式CASE条件
CASE
WHEN 表达式1 THEN
·····················;
WHEN 表达式2 THEN
····················;
··············
ELSE
·················;
END CASE;
九、循环控制
1、LOOP循环
<<outer>>
LOOP LOOP LOOP
······; ············; ···········;
EXIT; EXIT WHEN 条件表达式; LOOP
END LOOP; END LOOP; ············;
EXIT outer WHEN 条件表达式; --(两个循环均退出)
END LOOP;
END LOOP outer;
2、WHILE···LOOP
WHILE 表达式 LOOP
············;
END LOOP;
3、FOR ···LOOP
FOR i IN 1..5 LOOP
············;
END LOOP;
十、其他功能特性
1、游标
2、过程
3、函数
4、包
5、集合
6、错误处理
【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:控制语句 IF..ELSIF语句、CASE语句、FOR循环语句
--多重if语句(注意点:BEGIN END ,IF 条件 THEN,ELSIF 条件 THEN,ELSE... END IF)BEGIN IF FALSE THEN DBMS_OUTPUT.put_ ...
- PHP正则式PCRE
PHP正则式PCRE的总结差不多就下边这些了.参考 PCRE与perl的差异 . 锚(^.$.\A.\Z/\z):^.$在多行模式下是非紧固的,在单行模式下是紧固的:而\A.\Z / \z在任何模 ...
- 新版Azure Automation Account 浅析(二) --- 更新Powershell模块和创建Runbook
前篇我们讲了怎样创建一个自动化账户以及创建时候"Run As Account"选项背后的奥秘.这一篇针对在Azure自动化账户中使用Powershell Runbook的用户讲一下 ...
- 您是不是奇怪为什么 <script> 标签中没有 type="text/javascript" 属性?
在 HTML5 中该属性不是必需的.JavaScript 是 HTML5 以及所有现代浏览器中的默认脚本语言!
- 一篇文章帮你解决python的包管理
写python代码的人都知道,一个项目写下下来,不可避免的都需要使用很多第三方包,通常我们都是通过pip install ,然而当我们需要上线的时候问题来了,如果中间你自己不记得自己安装了多少个包,这 ...
- 我的java学习之路--Java注解专题
学习网址:http://www.imooc.com/video/8861 1.引言 2.Java中的常见注解 JDK自带注解:<br>@Override @Deprecated @Supp ...
- Java数据持久层框架 MyBatis之API学习三(XML 映射配置文件)
对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...
- 前端之CSS介绍--选择器
一.CSS简介 介绍 css我们称呼层叠样式表(英文全称:Cascading Style Sheets).它是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等 ...
- 1.MAVEN项目的创建与问题的解决
一.创建一个maven-webapp.(环境:mac和15版本的IDEA) 二.next--->填写groupId(公司单位的名字,你组织的名字)和ArtifactID(有关tomcat,以后用 ...
- redux学习日志:关于react-redux
首先先强调一句:一定要多读官方文档,而且要精读,否则你会忽略掉很多东西! 一,Provider 刚开始看的时候,大致浏览了一下,知道了这个组件是能够接收store作为它的属性,然后它里面的子组件就可以 ...