PLSQL数据库

目录

什么是PLSQL数据库

PL数据库的实现方法

PL数据库的基本语法

1.作用

2.语法

3.赋值输出

4.引用

5.异常处理

6.if 判断

7.loop循环

8.while循环

9.for循环

10.游标

11.参数游标

12.索引

13.分区表


什么是PLSQL数据库

        PL/SQL(Procedure  Language/SQL)是 Oracle 对 sql 语言的过程化扩展,指 在 SQL 命令语言中增加了过程处理语句(如分支、循环等),使 SQL 语言具有 过程处理能力。把 SQL 语言的数据操纵能力与过程语言的数据处理能力结合起来,使得 PLSQL 面向过程但比过程语言简单、高效、灵活和实用。

PL数据库的实现方法

1.首先,启动VMvare虚拟机以启动PLSQL Developer,连接Oracle数据库

2.利用已登录的管理员用户创建新用户(详见之前章节)

3.在DataGrip中编写相应代码,利用虚拟机PLSQL运行,语法见本章下

PL数据库的基本语法

1.作用

        plsql也可以实现复杂的业务逻辑
        为不直接使用编程语言 而是学习plsql
        plsql会比直接使用 编程语言 速度更快

2.语法
        [declare-- 声明变量 (变量名 表名.字段名%type;  引用变量)]begin -- PL代码块-- 代码逻辑[exception-- 异常处理]
end;
3.赋值输出
        a:=1; -- 把1赋值给aselect 表中字段 into 变量名 from 表名; -- 变量赋值dbms_output.put_line('单价:'||变量名); -- 输出
4.引用
        声明变量 (变量名 表名.字段名%type;  引用变量)声明行变量(变量名 表名%rowtype;  引用一行变量)beginselect * into 变量名 from 表名 where id = 1;变量名=表名.字段名···(赋值编辑)end;
5.异常处理
-- 引用行变量where不可筛选多行或不存在的id
exceptionwhen 错误类型 then输出;
-- 处理
exceptionwhen no_data_found thendbms_output.put_line('数据找不到!');when too_many_rows thendbms_output.put_line('数据太多!');when other thendbms_output.put_line('异常:'||sqlcode||sqlerrm);
6.if 判断
-- if 条件 then
--   业务逻辑
-- elsif 条件 then
--   业务逻辑
-- else
--   业务逻辑
-- end if;
7.loop循环
loop/end loop;
loopdbms_output.put_line(···);变量=变量+1;exit when 变量>100;
end loop;
8.while循环
while 条件判断  -- 符合条件才能进入循环
loopdbms_output.put_line(···);变量=变量+1;exit when 变量>100;
end loop;
9.for循环
declare
beginfor 变量 in 起始值..终止值loopdbms_output.put_line(···);end loop;
end;
10.游标

游标是系统为用户开设的一个数据缓冲区,存放 SQL 语句的执行结果。

我们可以把游标理解为 PL/SQL 中的结果集。

declare行变量 表名%rowtype;
-- 记录数据获取的位置,存储每一行数据cursor 游标名称 is sql语句;select * from 表名 where ownertypeid=1;
begin
-- 使用游标语法open 游标名称 -- 打开游标loop业务逻辑(fetch 游标名 into 行变量)输出 dbms_output.put_line('价格:'||表名.字段名);exit when 游标名称%notfound业务逻辑end loop;
close 游标名称; -- 关闭游标
11.参数游标
declarecursor 游标名(参数名 number) is select *from 表名 where id列名 = 参数名;
beginfor i in 游标名(1)loopdbms_output.put_line('价格:'||i.列名||'吨位:'||i.列名||'吨位:'||i.列名);end loop;
end;
12.索引
-- 加快查询速度
create index 索引名称  on 表名(列名);
13.分区表
范围分区(range,用时间分区)
HASH 分区(散列分区,不连续)
列表分区
复合分区(范围+HASH)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/3331.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++航海王:追寻罗杰的编程之路】C++11(二)

目录 C11(上) 1 -> STL中的一些变化 2 -> 右值引用和移动语义 2.1 -> 左值引用和右值引用 2.2 -> 左值引用与右值引用比较 2.3 -> 右值引用使用场景与意义 2.4 -> 右值引用引用左值及其更深入的使用场景分析 2.5 -> 完美转发 C11(上) 1 -> STL…

为什么要建设数字化校园?

数字化校园的建设能够使用户能够随时随地的在有互联网的地方获取到校园的信息,而且由于这些信息都是有校园的管理部门发布的,所以这样就能保证信息的权威性。数字化校园平台还能让学校内部建立起相对独立的网络体系,能有效的消除“信息化孤岛…

Kubernetes TDengine 系列|安装 TDengine 的 Grafana 插件|Grafana监控TDengine数据

为了让Grafana 能够监控到TDengine 数据,快速集成搭建数据监测报警系统,所以直接安装TDengine 插件。 目录 一、安装 TDengine 的 Grafana 插件1、下载TDengine grafana插件2、解压到指定目录3、配置未签名插件 二、配置数据源,简单查询TDen…

【已解决】VMware虚拟机中出现无法将“iso文件”当做CD-ROM映像进行连接:找不到该文件的错误

报错 在VMware上运行虚拟机时报错:VMware虚拟机中出现无法将“iso文件”当做CD-ROM映像进行连接:找不到该文件的错误 原因分析 找不到这个iso文件了,检查文件位置 解决方案 找到iso文件,然后在VM中编辑虚拟机中这个文件的位置…

AI-数学-高中-45函数单调性与导数

原作者视频:【导数】【一数辞典】5函数单调性与导数(重要)_哔哩哔哩_bilibili 导数最重要作用:判断函数单调性。 示例:

新风口下的必应bing国内广告投放该怎么做?

必应Bing作为全球搜索引擎市场的重要参与者,正逐渐显现出其在国内市场的独特价值和潜力。随着互联网生态的多元化发展,必应Bing凭借其高质量用户群和精准投放能力,成为了企业寻求新增长点的新风口。 一、洞察先机,精准定位市场 …

运营版游戏陪玩平台源码/tt语音聊天/声优服务/陪玩系统源码开黑/约玩源码

简述 一个人的游戏叫孤独,一群人的游戏才是乐趣,随着电竞产业在国内的快速发展,游戏陪练行业也迅速成长,现在很多游戏玩家为了追求更高质量的游戏体验感,往往会在玩游戏的过程中找陪练,通过陪玩系统进行预…

常用的JDK9-JDK17的一些新增语法特性

目录 1.前言2.一些新增的特性2.1 yield关键字2.2 var关键字2.3 空指针异常2.4 密封类2.5 接口中的私有方法2.6 instanceof2.7 其他 1.前言 从springboot3.0开始,已经不⽀持JDK8了。参考资料 :Spring官方博客。从3.0开始,转变为JDK17。 官方…

Node+Vue3+mysql+ant design实现前后端分离——表格的添加、修改和删除

在上一篇文章中,我们分享了如何运用NodeJS、Vue、MySQL以及其他技术来实现后台管理系统中的表格查询功能。今天,我们将继续探讨另外三个重要的功能实现原则。这些原则在构建后台管理系统时至关重要,同时还有导入和导出这两种功能也必不可少。关于导入和导出功能,我们会在下…

CUDA的开发框架

CUDA的开发框架主要提供了一系列工具和库,使得开发者可以充分利用NVIDIA GPU进行高效的并行计算。以下是CUDA开发框架的一些关键组成部分。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.CUDA核心库:这些是构…

C++设计模式:中介者模式(十五)

1、定义与动机 定义:用一个中介对象来封装(封装变化)一系列的对象交互。中介者使各个对象不需要显示的相互引用(编译时依赖 -> 运行时依赖),从而使其耦合松散(管理变化)&#xff…

vue3+node.js+mysql+ant design实现表格的查询功能

今日主要分享如何运用vue、nodejs、mysql及ant design构建表格数据查询功能,这也是众多项目开发者关注的问题。最关键在于前端与后端的协作,后端数据则通过nodejs编写。尽管涉及多项技术,看似复杂,但实际操作却并非困难。当然&…

LM324的输出VOL与IOL你注意过吗?

电路图 途中LMC6084 更改为LM324 故障现象 这个电路的输入输出表达式为 R30 两端电压等于0V 当J16 的4脚与2脚相等,等于5V(或者4脚略大于2脚时)7脚输出 约 500mV; 实际应该为0V左右才对.见下图 故障原因 上图运放输出低电平…

【ENSP】VRRP配置方法

VRRP配置步骤 1.配置虚拟ip地址作为网关,进行切换路由器 2.配置vrrp优先级,越大越优先 3.配置延迟抢占时间 4.配置备份组监视接口 AR1路由器配置 u t m #关闭提示 sys …

创建Maven项目的时候让选择maven模板

创建Maven项目的时候让选择maven模板 心得 工欲利其事 必先利其器。如果你想要干成一件事 那么必须先要精通对应的工具使用。之前我不太注重工具 我觉得只要代码写的好就可以了 但是当我们了解了产品经理的一些思想之后,我才明白一个好的产品是可以给用户提供多大…

wasm 系列之 WebAssembly 和 emscripten 暴力上手

wasm 是什么? wasm 是 WebAssembly 的缩写。wasm 不是传统意义上的汇编语言,而是一种编译的中间字节码,可以在浏览器和其他 wasm runtime 上运行非 JavaScript 类型的语言,只要能被编译成 wasm,譬如 kotlin/wasm、Rus…

IOS恢复

1、实验目的 通过本实验可以掌握: copy方式恢复IOS的步骤。TFTPDNLD方式恢复IOS的步骤。Xmodem方式恢复IOS的步骤。 2、实验拓扑 路由器IOS恢复的实验拓扑如下图所示。 3、实验步骤 如果工作中不慎误删除路由器IOS,或者升级了错误版本的IOS&#xff…

Https协议原理剖析【计算机网络】【三种加密方法 | CA证书 】

目录 一,fidler工具 前提知识 二,Https原理解析 1. 中间人攻击 2. 常见的加密方式 1). 对称加密 2). 非对称加密 对称加密 4). CA证书 1. 数据摘要 3. 数字签名 CA证书 理解数据签名 存在的安全疑问&am…

js基础知识(2)

一、事件的含义 JavaScript事件是指在文档或者浏览器中发生的一些特定交互瞬间,比如打开某一个网页,浏览器加载完成后会触发load事件,当鼠标悬浮于某一个元素上时会触发hover事件,当鼠标点击某一个元素时会触发click事件等等。 三…

在PostgreSQL中如何处理跨表的级联删除和更新?

文章目录 解决方案1. 使用外键约束和级联操作创建外键约束并指定级联删除创建外键约束并指定级联更新 2. 使用触发器(Triggers)创建触发器实现级联删除 示例代码示例1:使用外键约束和级联删除示例2:使用触发器实现级联删除 在Post…