PL/SQL 学习分享
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 学习分享的更多相关文章
- PL/SQL 学习分享(续)
事务 事务的概述 事务的特性 回滚点 事务实例练习 动态SQL 动态SQL概述 动态SQL应用场合 动态SQL的执行语法 绑定变量 动态SQL创建表 动态SQL绑定变量 动态SQL综合案例添加数据 使 ...
- ORALCE PL/SQL学习笔记
ORALCE PL/SQL学习笔记 详情见自己电脑的备份数据资料
- Oracle之PL/SQL学习笔记
自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家 ...
- 浅析Oracle PL/SQL 学习--未完待续
这是一篇关于Oracle Pl/SQL数据库编程的课程学习分享... 首先说明几点: 学习这门课程之前,已经学过并且掌握一些基础的SQL语句.数据库结构分析.ER图设计等知识: 这里也只是较为大概地将 ...
- Oracle PL/SQL学习之Hello World(0)
1.PL/SQL是Oracle数据库的一大创举,让一些复杂繁琐的常规主流编程代码做的编码处理过程,只需要在PL/SQL中使用简短的几句代码就可以解决,并且准确高效.那么遵循惯例,我们学习PL/SQL编 ...
- [Oracle] PL/SQL学习笔记
-- 1. 使用一个变量 declare -- Local variables here v_name ); begin -- Test statements here select t.user_n ...
- PL/SQL学习(六)触发器
原文参考:http://plsql-tutorial.com/ 创建语法: CREATE [OR REPLACE ] TRIGGER trigger_name {BEFORE | AFTER | IN ...
- PL/SQL学习(五)异常处理
原文参考:http://plsql-tutorial.com/ 组成: 1) 异常类型 2) 错误码 3) 错误信息 代码结构: DECLARE Declaration section BEGIN ...
- PL/SQL学习(四)存储过程和函数
原文参考:http://plsql-tutorial.com/ PL/SQL存储过程 存储过程相当于一个有名字的PL/SQL块,经过第一次编译后再次调用时不需要再次编译 创建格式: CREATE [O ...
随机推荐
- LOG_PATH_IS_UNDEFINED
问题: SpringBoot + LogBack 写日志,除了正常的日志之外,程序跑起来后会在项目根目录多生成一个 LOG_PATH_IS_UNDEFINED 的文件夹,我的配置是以下: applic ...
- springcloud学习(一)之Eureka
前言 微服务原则上是应该有多个服务提供者的实例的,在通常情况下服务提供者的数量和分布往往是动态变化的,这样在传统的单体应用中的那种硬编码服务url进行远程调用的方式就不足取.服务注册中心就是为了解决服 ...
- hive 将hive表数据查询出来转为json对象和json数组输出
一.将hive表数据查询出来转为json对象输出 1.将查询出来的数据转为一行一行,并指定分割符的数据 2.使用UDF函数,将每一行数据作为string传入UDF函数中转换为json再返回 1.准备数 ...
- Spring的自动装配与依赖注入
Spring的自动装配与依赖注入 装配 = 创建Bean + 注入Bean 创建Bean 自动发现 显式注册Bean 注入Bean 基于配置的注入 自动注入 Spring的装配分为显式装配和隐式装配, ...
- maven仓库和镜像
目录 简介 本地仓库 远程仓库 远程仓库的更新 远程仓库的认证 部署到远程仓库 快照版本 依赖解析 镜像 本文主要是针对<maven实战>书中关键知识点的学习记录,未免有纰漏或描述不到之处 ...
- sa-token 之权限验证
权限验证 核心思想 所谓权限验证,验证的核心就是当前账号是否拥有一个权限码 有:就让你通过.没有:那么禁止访问 再往底了说,就是每个账号都会拥有一个权限码集合,我来验证这个集合中是否包括我需要检测的那 ...
- 学习rac管理
文章转自:http://blog.itpub.net/7728585/viewspace-752185/ crsctl query crs activeversion 查看版本 ocrconfig - ...
- kubernets之就绪探针
一 介绍就绪探针 1.1 开始介绍就绪探针之前,让我们来提问几个问题?第一,在sevice这章我们了解到, 当流量从Ingress被转发到服务,然后服务从其维护当Endponits 里面列表查找到任 ...
- 【Azure Developer】解决Azure Key Vault管理Storage的示例代码在中国区Azure遇见的各种认证/授权问题 - C# Example Code
问题描述 使用Azure密钥保管库(Key Vault)来托管存储账号(Storage Account)密钥的示例中,从Github中下载的示例代码在中国区Azure运行时候会遇见各种认证和授权问题, ...
- 一文读懂k8s之Pod安全策略
导读 Pod容器想要获取集群的资源信息,需要配置角色和ServiceAccount进行授权.为了更精细地控制Pod对资源的使用方式,Kubernetes从1.4版本开始引入了PodSecurityPo ...