PL SQL概述

什么是PL/SQL?

PL/SQL(Procedural Language/SQL)。

一种过程化语言,通过增加编程语言的特点,实现对SQL的扩展。

PL/SQL的特点

  • 支持所有SQL的语法
  • 支持case语句,方便地实现循环
  • 通过继承,实现子类具有父类的属性和方法
  • 设置了新的日期类型

PL/SQL的开发环境

  • Oracle数据库服务器
  • Oracle开发工具

PL/SQL的工作原理

  • 由PL/SQL引擎接收指令
  • 将指令传递给Oracle数据库服务器执行

语句块::重点部分

PL/SQL语句块

PL/SQL程序是按照块结构进行划分

块是PL/SQL程序的基本单位

Declare用于声明变量、游标
v_name varchar2(30):='Jack'; --定义用户名称
v_age number :=6; --定义用户年龄
Begin表示程序的开始
--将用户的姓名和年龄插入到club_user表中
insert into club_user values (v_name,v_age);
Exception表示异常
--当出现异常时的处理
when others then
DBMS_OUTPUT.PUT_LINE('插入数据失败');
End;表示程序结束

PL/SQL声明,命名规则

声明

  • 使用declare关键字
  • 用于定义变量或者常量
DECLARE(声明) variable_name(变量名称)  [CONSTANT](是否为常量) type(变量的数据类型) [NOT NULL](是否为空) [:=value](变量初始化);

命名规则

变量命名规则:

  • 变量名首字母必须是英文字母,其后可以是字母、数字或者特殊字符$、#和下划线
  • 变量名长度不超过30个字符
  • 变量名中不能有空格

表达式和运算符

表达式的分类

数值型 字符型 日期型 布尔型

运算符分类

算术运算符 关系运算符 逻辑运算符 其他运算符


流程控制

条件结构:IF…THEN

IF condition THEN
Statements1 (执行语句,例:插入语句,删除语句等)
ELSE
Statements2
END IF;

条件结构:IF-THEN-ELSIF

IF condition1 THEN
Statements
ELSIF condition2 THEN
Statements
ELSE
Statements
END IF;

CASE语句(在oracle 9i后引入)

CASE variable
WHEN value1 THEN statements1;
WHEN value2 THEN statements2;
....................
WHEN valuen THEN statementsn;
[ELSE else_stataments;]
END CASE;

循环结构

LOOP循环
WHILE-LOOP循环

类似于while循环

FOR-LOOP循环

类似于for循环


PL/SQL的异常处理

预定义异常


异常处理


常用的变量类型

binary_integer: 整数,主要用来计数而不是用来表示字段类型

number: 数字字符

char: 定长字符串

varchar2: 变长字符串

date: 日期

long: 长字符串 最长2GB

boolean: 布尔类型,可以取值true | false | null值


复杂变量Table,Record,

PL/SQL 学习分享的更多相关文章

  1. PL/SQL 学习分享(续)

    事务 事务的概述 事务的特性 回滚点 事务实例练习 动态SQL 动态SQL概述 动态SQL应用场合 动态SQL的执行语法 绑定变量 动态SQL创建表 动态SQL绑定变量 动态SQL综合案例添加数据 使 ...

  2. ORALCE PL/SQL学习笔记

    ORALCE  PL/SQL学习笔记 详情见自己电脑的备份数据资料

  3. Oracle之PL/SQL学习笔记

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

  4. 浅析Oracle PL/SQL 学习--未完待续

    这是一篇关于Oracle Pl/SQL数据库编程的课程学习分享... 首先说明几点: 学习这门课程之前,已经学过并且掌握一些基础的SQL语句.数据库结构分析.ER图设计等知识: 这里也只是较为大概地将 ...

  5. Oracle PL/SQL学习之Hello World(0)

    1.PL/SQL是Oracle数据库的一大创举,让一些复杂繁琐的常规主流编程代码做的编码处理过程,只需要在PL/SQL中使用简短的几句代码就可以解决,并且准确高效.那么遵循惯例,我们学习PL/SQL编 ...

  6. [Oracle] PL/SQL学习笔记

    -- 1. 使用一个变量 declare -- Local variables here v_name ); begin -- Test statements here select t.user_n ...

  7. PL/SQL学习(六)触发器

    原文参考:http://plsql-tutorial.com/ 创建语法: CREATE [OR REPLACE ] TRIGGER trigger_name {BEFORE | AFTER | IN ...

  8. PL/SQL学习(五)异常处理

    原文参考:http://plsql-tutorial.com/ 组成: 1) 异常类型 2) 错误码 3) 错误信息   代码结构: DECLARE Declaration section BEGIN ...

  9. PL/SQL学习(四)存储过程和函数

    原文参考:http://plsql-tutorial.com/ PL/SQL存储过程 存储过程相当于一个有名字的PL/SQL块,经过第一次编译后再次调用时不需要再次编译 创建格式: CREATE [O ...

随机推荐

  1. TurtleBot3 Waffle (tx2版华夫)(5)激活你的雷达

    重要提示:请在配网通信成功后进行操作,配网后再次开机需要重新验证通信: 重要提示:[Remote PC]代表PC端.[TurtelBot]代表树莓派端: 5.1.操作步骤 1)[Remote PC]  ...

  2. log4j2文件结构

    标签结构 Configuration properties Appenders Console PatternLayout File RollingRandomAccessFile Filters T ...

  3. STL小结

    \(\mathcal{STL}(\mathcal{Standard\ Template\ Library})\) \(queue\) (队列): 这是一种先进先出的数据结构. 主要操作: 操作 功能 ...

  4. Apache本机不同端口多站点配置:httpd-vhosts.conf(转载)

    环境:Apache2.2.9,Resin-3.1.6,Win Server 2003 1.解压Resin至任意目录,我的是D:; 2. 安装Apache,具体操作下一步.下一步即可,其中要配置的地方是 ...

  5. Label_table

    <table border(边框) = "" width = height = align = bordercolor(边框色) = cellspacing 表格边框与单元格 ...

  6. 这么优雅的Java ORM没见过吧!

      Java的ORM框架有很多,但由于Java语言的限制大部分都不够优雅也不够简单,所以作者只能另辟蹊径造轮子了.照旧先看示例代码了解个大概,然后再解释实现原理. 一.ORM示例 1. Insert ...

  7. 【C++】《C++ Primer 》第四章

    第四章 表达式 一.基础 重载运算符:当运算符作用在类类型的运算对象时,用户可以自行定义其含义. 左值和右值: C中:左值可以在表达式左边,右值不能. C++中:当一个对象被用作右值的时候,用的是对象 ...

  8. 在Linux系统下限制指定目录的大小以及文件/文件夹数量

    背景说明 在Linux操作系统下有时需要限制一个指定文件夹的大小和文件夹内可存储的文件数量,有可能是出于安全的考量或者定制化的配置,这里我们提供了一种方案:用dd创建一个空的img镜像,进行格式化的配 ...

  9. rename 表名

    rename table 旧表名1 to 新表名1,旧表名2 to 新表名2;

  10. SDUST数据结构 - chap7 图

    判断题: 选择题: 函数题: 6-1 邻接矩阵存储图的深度优先遍历: 裁判测试程序样例: #include <stdio.h> typedef enum {false, true} boo ...