oracle数据库(五)
PL/SQL基础
PL/SQL语言是对oracle数据库语言的扩展,是一种高性能的基于处理事务的语言,能运行在任何oracle环境中,支持所有数据处理命令,支持所有SQL数据类型和函数,支持所有oracle对象类型。PL/SQL块可以被命名和存储在数据库服务器中,同时也能被其他的PL/SQL程序或者SQL命令调用,所以具有很好的重用性。
一.PL/SQL程序块的基本结构
[declare
--声明变量
]
begin
--代码逻辑
[exception
--异常处理
]
end;
注意:PL/SQL程序块中的语句用;作为结尾,所以;不会作为执行程序块的符号,使用/表示执行程序块。
二.常量和变量
2.1常量被定义后,需要初始化值,而且需要使用constant关键字,语法形式如下:
constant_name CONSTANT data_type { := | DEFAULT} value;
emp_number CONSTANT NUMBER(4) := 7900;
:=不能分开,之间不能有空格。
2.2变量定义不用进行初始化,不需要CONSTANT关键字,变量值可以被程序修改。
variable_name data_type { := | DEFAULT} value;
三.%TYPE类型和%ROWTYPE类型
3.1 如果我们定义变量是无法确定其和数据库中对性的属性类型,我们可以使用%TYPE隐式的变量的数据类型指定为对应列的数据类型。
%ROWTYPE类型针对表中的一行,使用%ROWTYPE类型定义的变量可以存储表中一行数据。
3.2PL/SQL记录类型
PL/SQL记录类型用户用来自定义存储类型,可以存储由一个或者多个字段组成的一行数据。
创建语法如下:
TYPE record_name IS RECORD(
field_name data_type {:= | default} .....
);
四.条件选择语句和循环语句
4.1 IF条件语句
f 条件 then
业务逻辑
[ elsif 条件 then
业务逻辑
else
业务逻辑 ]
end if;
4.2无条件循环
loop
--循环语句
[exit when 条件;]
end loop;
4.3有条件循环
while 条件
loop
--循环语句
end loop;
4.4for循环
for 变量 in 起始值..终止值
loop
--循环语句
end loop;
五.游标
使用select语句返回一个结果集,如果要对结果集中单独的行进行操作,需要使用游标。使用游标的四个步骤为声名游标、打开游标、检索游标、关闭游标。
1.声名游标,主要定义一个游标名称对应一个select语句,从而可以利用该游标对此查询语句返回的结果集进行单独操作。
declear
cursor emp_cursor (dept_num NUMBER :=20)
is
select empno,ename,job,sal
from emp where deptno =dept_num;
2.打开游标
open cursor_name(参数);
3.检索游标
fetch cursor_name into variable{.....};
将查询的数据用定义的变量保存起来。
4.关闭游标
close cursor_name;
oracle数据库(五)的更多相关文章
- Oracle数据库五种约束
oracle 数据库 数据表的5个约束类型:1.主键约束2.外键约束3.唯一约束4.检查约束5.非空约束 主键约束:用来唯一标示表中的一个列,一个表中的主键约束只能有一个,但是可以在一个主键约束中包含 ...
- oracle系列--第五篇 PLSQL连接本地的Oracle数据库
这篇blog主要是针对新手,我也是个新手:) 我们把oracle成功的安装在了我们的计算机上面,那我们如何才能将PLSQL developer连 接到本地的oracle呢? 首先,我们必须有下面步准备 ...
- Oracle数据库基本操作 (五) —— 使用java调用存储过程
一.环境准备 登录Oracle数据库scott账号,利用emp进行操作. 1.创建 proc_getyearsal 存储过程 -- 获取指定员工年薪 create or replace procedu ...
- Oracle 数据库语句大全
Oracle数据库语句大全 ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CH ...
- Oracle数据库基础知识
oracle数据库plsql developer 目录(?)[-] 一 SQL基础知识 创建删除数据库 创建删除修改表 添加修改删除列 oracle cascade用法 添加删除约束主键外 ...
- Oracle 数据库基础——安装
一.数据库基础知识 1.概念 数据库全称数据库管理系统,简称DBMS,是一种在计算机中,针对数据进行管理.存储.共享的一种技术. 2.分类 数据库的发展过程中,按逻辑模型可分为以下几种: 3.关系型数 ...
- 详解:数据库名、实例名、ORACLE_SID、数据库域名、全局数据库名、服务名及手工脚本创建oracle数据库
数据库名.实例名.数据库域名.全局数据库名.服务名 , 这是几个令很多初学者容易混淆的概念.相信很多初学者都与我一样被标题上这些个概念搞得一头雾水.我们现在就来把它们弄个明白. 一.数据库名 什么是数 ...
- Oracle数据库导入导出命令总结
Oracle数据导入导出imp/exp就相当于oracle数据还原与备份.exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中.利用 ...
- oracle数据库从入门到精通
oracle产品线围绕企业开发平台的企业开发平台四大组件:unix,weblogic中间件,java编程语言,oracle数据库oracle 开发主要分两类数据库管理:dba数据库编程:分两部分 ...
随机推荐
- 解决centos chrome浏览器页面中文显示为方框
1.系统:centos 7 下载宋体文件:点击下载 把文件放到 /usr/share/fonts/simsun.ttc 依次执行如下命令 mkfontdirmkfontscalefc-cache -f ...
- URL中出现了%E2%80%8E(Zero-Width Space)
下面两个url地址,看起来是一样的,但是粘贴到记事本里会发现一个多出了很长的空格 url: '/secure/Dishes/GetList', url: '/secure/Dishes/GetLis ...
- QT之类型转换
Qt在进行数据类型转换时,容易忘记如何使用,或者是早已厌倦了百度QString转QByteArray,QByteArray转char,QString转string....... 现在分享一篇QT数据类 ...
- Python列表(list)所有元素的同一操作
针对很普遍的每个元素的操作会遍历每个元素进行操作. 这里给出了几种写法,列表每个元素自增等数学操作同理: 示例:整形列表ilist加1个数.元素类型转字符串: ilist = [1, 2, 3, 10 ...
- C#事件和委托(C#学习笔记03)
委托 1. C# 中的委托类似于 C 或 C++ 中指向函数的指针.委托表示引用某个方法的引用类型变量,运行时可以更改引用对象. 2. 特别地,委托可以用于处理事件或回调函数.并且,所有的委托类都是从 ...
- WC2018 文艺汇演《退役的你》
视频网址:https://www.bilibili.com/video/av19333297 谨以此歌献给那些曾与我们并肩前行的退役 OIer 填词 & 视频:Menci 演唱:wxh0109 ...
- 版本控制器:Git-的使用
版本控制器:Git # 达到多人协同开发的目的 安装 """ 1.下载对应版本:https://git-scm.com/download 2.安装git:在选取安装路径的 ...
- 【转载】C#中ArrayList集合类使用Add方法添加元素
ArrayList集合是C#中的一个非泛型的集合类,是弱数据类型的集合类,可以使用ArrayList集合变量来存储集合元素信息,任何数据类型的变量都可加入到同一个ArrayList集合中,因此使用Ar ...
- vue的v-bind详解
前言 v-bind 主要用于属性绑定,比方你的class属性,style属性,value属性,href属性等等,只要是属性,就可以用v-bind指令进行绑定.这篇文章主要介绍了VueJs中的V-bin ...
- Java 之 匿名对象
一.匿名对象 创建对象时,只有创建对象的语句,却没有把对象地址赋值给某个变量. 虽然是创建对象的简化写法,但是应用场景非常有限. 匿名对象:没有变量名的对象. 语法格式: new 类名(参数列表): ...