在最近的工作中要用到存储过程和函数,索性把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的更多相关文章

  1. Oracle中PL/SQL的执行部分和各种流程控制

    Oracle中PL/SQL的执行部分和异常部分 一.PL/SQL的执行部分. 赋值语句. 赋值语句分两种,一种是定义一个变量,然后接收用户的IO赋值:另一种是通过SQL查询结果赋值. 用户赋值举例: ...

  2. Oracle中PL/SQL简介、基本语法以及数据类型

    Oracle中PL/SQL简介.基本语法以及数据类型 一.PL/SQL简介. Oracle PL/SQL语言(Procedural Language/SQL)是结合了结构化查询和Oracle自身过程控 ...

  3. 使用oracle 的 PL/Sql 定时执行一个存储过程

    CSDN日报20170322--<关于软件研发的一些体会总结> 同步博客至 CSDN ,让更多开发者看到你的文章 看微博技术大咖解析互联网应用架构实战 使用oracle 的 PL/Sql ...

  4. Oracle之PL/SQL学习笔记

    自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家 ...

  5. 【SQL】Oracle的PL/SQL语法及其拓展数据类型总结

    PL/SQL语法 PL/SQL程序由三部分组成,声明部分.执行部分.异常处理部分. 模板: DECLARE /*变量声明*/ BEGIN /*程序主体*/ EXCEPTION /*异常处理部分*/ E ...

  6. Oracle实践--PL/SQL表分区的基础

    PL/SQL基础入门之表分区 PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言.是对SQL的扩展.支 ...

  7. C#(在WeBAPI)获取Oracle(在PL/SQL)游标类型的存储过程(用到了RefCursor)

    需求:WebAPI服务端,通过Oracle数据库的存储过程,获取数据. 在PL/SQL 建立存储过程:(先来最简单的,就是把整个表都查出来) create or replace procedure S ...

  8. 【Oracle】PL/SQL 显式游标、隐式游标、动态游标

    在PL/SQL块中执行SELECT.INSERT.DELETE和UPDATE语句时,Oracle会在内存中为其分配上下文区(Context Area),即缓冲区.游标是指向该区的一个指针,或是命名一个 ...

  9. Oracle数据库PL/SQL那点事情---修改过电脑的用户名

    在安装Oracle数据库的PL/SQL工具时候,电脑名称是重装系统后自动生成的用户名名称,作为程序员,有很强的强迫症,就想利用自己的英文名称作为自己电脑的名称,所以就修改了电脑的名称:结果PL/SQL ...

随机推荐

  1. 【Jsp/Servlet】获取客户端使用的ip

    一般使用jsp的时候大多数时间都可以使用request.getRemoteAddr() 来获取ip,但是这个前提是未经过反向代理等操作的原始地址,所以,需要在反向代理等操作之后还要获取客户端的ip变得 ...

  2. 读懂 Deployment YAML - 每天5分钟玩转 Docker 容器技术(125)

    既然要用 YAML 配置文件部署应用,现在就很有必要了解一下 Deployment 的配置格式,其他 Controller(比如 DaemonSet)非常类似. 还是以 nginx-deploymen ...

  3. python中的Queue(队列)详解

    一.Queue简介 python中的队列分类可分为两种: 1.线程Queue,也就是普通的Queue 2.进程Queue,在多线程与多进程会介绍. Queue的种类: FIFO:  Queue.Que ...

  4. Python random模块(获取随机数)

    1.random.random 随机生成一个0到1的随机浮点数: 0 <= n < 1.0 In [2]: print random.random() 0.544824016934 2.r ...

  5. char,varchar,nvarchar,text区别与联系

    CHAR,NCHAR 定长,速度快,占空间大,需处理VARCHAR,NVARCHAR,TEXT 不定长,空间小,速度慢,无需处理NCHAR.NVARCHAR.NTEXT处理Unicode码

  6. intellij-项目目录隐藏无用的文件和文件夹

    File-->Editor-->File Types

  7. scss 初学笔记 三 继承

    //继承 .btn{ padding: 4px 10px; font-size: 14px; } .primary{ background:red; @extend .btn; } //%placeh ...

  8. 云计算之路-阿里云上:部分服务器未及时续费造成docker swarm集群故障

    非常非常抱歉,由于我们的疏忽 —— docker swarm 集群中的 2 台服务器没有及时续费,造成在夜里0点被自动关机,从而引发整个 docker swarm 集群故障,造成今天凌晨 0:30 ~ ...

  9. python_继承supper错误

    问题: qs = super(BnnerCourseAdmin, self).queryset() TypeError: super(type, obj): obj must be an instan ...

  10. scrapy_xpath

    什么是xpath? 路径表达式 在xml和html中进行导航 包含标准函数库 遵循w3c标准 xpth节点关系是什么? 父节点 子节点 兄弟节点 先辈节点 后代节点 xpth语法 a         ...