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数据库编程:分两部分 ...
随机推荐
- Antd中,Select 中value设值,导致placeholder不生效解决方法
<Select key="sm2" placeholder="姓名" showSearch={true} allowClear={true} showAr ...
- Qt3D NodeInstantiator 使用时报出index out of range错误的记录
最近用到NodeInstantiator批量加入实体 刚开始用的时候一直程序崩溃 错误代码大致如下: // main.qml ApplicationWindow { ...... Loader { i ...
- C++贪心算法实现部分背包问题
问题描述: 在部分背包问题中,可以不必拿走整个一件物品,而是可以拿走该物品的任意部分.以此求得在限定背包总重量,从给定的物品中进行选择的情况下的最佳(总价值最高)的选择方案. 细节须知: 分别输出到同 ...
- 查看电脑已保存的wifi及密码
1. 查看以保存的wifi名称 打开cmd(win+r) #查看已保存WiFi名称 netsh wlan show profiles 2. 查看已保存的wifi的密码 netsh wlan show ...
- 百度前端技术学院task14源代码
刚开始理解错误,以为是读取对象,结果后面才发现是二维数组. 另外对于数组排序,创建新的节点啊,输入到doM中啊,都不是很熟悉. <!DOCTYPE html> <html> & ...
- 基于百度地图JavaScript API,员工住址统计
公司一般都有通讯和住址的统计,但是文字化的表格根本就不知道住在哪. 用百度地图就可以轻松解决, 而且公司还经常人员变动,读取excel中的内容,就不用每次还要更改地图文件了. 在遇到需要聚餐在地图中标 ...
- ABP 用SMTP 发送163邮件
/// <summary> /// 发送 /// </summary> /// <param name="Subject">邮件标题</p ...
- python基础05--深浅copy, set,bytes
1.1 深浅 copy 1. = 赋值操作, lis1=[1,2,3] list2 = list1 list1.append(4) 则list1,list2都变 赋值都指向同一个地址,改变一个 ...
- python数据分析三剑客之: pandas操作
pandas的操作 pandas的拼接操作 # pandas的拼接操作 级联 pd.concat , pd.append 合并 pd.merge , pd.join 一丶pd.concat()级联 # ...
- 商业BISYNES英语BISYNES商务
business from English bisynes Etymology From Middle English bisynes Hyphenation: business Noun busin ...