PL/SQL基础语法 (视图、序列、过程、游标)

视图:

视图是表现数据的逻辑子集或数据的组合。视图是基于表或另一视图的逻辑表,一个视图并不包含真实的数据,他提供了另一个视角查看或改变表中的数据。
使用PL/SQL dev 创建视图(代码实现)

create [or replace] 视图名[(视图内列名1,列名2, 列名3…)] as select 列名 from 表 ;(可以包含子查询和表连接)

单个表的视图为简单视图,涉及多表的为复杂视图。
视图的使用:
可以直接作为表名一样使用
视图可以进行查询操作
某些简单视图可以进行DML操作

序列:

序列是数据库对象,独立于表存储,可以为多个表使用。序列最主要的用途就是创建一个主键的值,并能确保这个主键的唯一性
使用PL/SQL dev 创建序列
1.右键Sequence –》新建
在这里插入图片描述2.
所有者:数据库用户 开始于:设置初始值
名称:表名_列名_seq 增量:每次增加多少 默认为1
最小值:最小值
最大值:最大值
一般只填写名称、开始于、最小值,其他默认则可
在这里插入图片描述
在这里插入图片描述
代码描述:
在这里插入图片描述
序列的调用:
直接调用 序列名.nextval

select dadsa.nextval into m from dual;--获取序列的下一个值给m

序列的修改:右键序列名,点击编辑则可修改

过程:

使用PL/SQL dev 创建过程(带参数的过程,代码实现)
create [or replace] procedure 过程名(
形参1 [参数模式] 数据类型
形参2 [参数模式] 数据类型
。。。
。。。
。。。
)is|as
参数1 数据类型;
参数2 数据类型;
。。。
begin
代码块
end;

in参数
out返回值
in out既是参数又是返回值

调用过程:

  1. 右键过程名,选择测试
    输入参数值,运行测试
    在这里插入图片描述
  2. 在函数中调用,运行
    begin
    过程名(形参1, 形参2…)
    end;
begin
p(参数1,参数二);
end;

游标

游标又称光标,是SQL的一个内存工作区,由系统或用户以变量的形式定义,主要用于暂时存放受SQL语句影响到的所有数据。换句话说,数据库会将收到SQL影响的数据暂时存放到一个内存区域的续表中,这个续表就是游标
游标的属性:

属性简介
%rowcount受SQL影响的行数,即游标中包含的行数
%found布尔值,游标中是否还有数据
%notfound布尔值,游标中是否已无数据
%isopen游标是否打开

·声明游标:
在declare下声明
Cursor cname[(参数1,数据类型1[, 参数二 数据类型2。。。])]
is select 语句
·使用游标:
一、
打开游标:
open cname[(参数1,数据类型1[, 参数二 数据类型2。。。])];
提取数据:
fetch cname into 变量1[, 变量2…];
关闭游标:
close cname;
例:

declear
--声明游标
Cursor cempis select ename from emp;
pname emp.ename%type;
begin 
open cemp;
loop
fetch cemp into pname;
exit when cemp%notfound;
dbms_output>put_line(pname);
end loop
colse cemp;
end;

二、
利用for each

declear
--声明游标
Cursor cemp is select ename from emp;
pname emp.ename%type;
begin 
for v_emp in cemp loop
dbms_output.put_line(v_emp.name);
loop
end;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值