Oracle中的 plsql语法

01-plsql

为什么要plsql

  • 复杂的业务逻辑 可以使用 编程语言实现 sql无法实现

  • plsql也可以实现复杂的业务逻辑

    • 为不直接使用编程语言 而是学习plsql

    • plsql会比直接使用 编程语言 速度更快

基本语法:

declare --声明变量 变量名 变量类型

begin

--代码逻辑

end;

02-select into赋值方法

语法:

复制代码
select  列名   into    变量名  from  表名  where  条件
  • 注意

    • select 后的字段数量 和 变量数量保持一致(类型尽量保持一致)

    • select into这种方式 只能获取一行数据

03-引用变量

变量类型 使用表中的字段的类型的

  • 变量类型 会随着 表中的类型变化而变化

语法:

v_num1 T_ACCOUNT.num1%type;

04-行变量

行变量 获取一行数据

  • 行变量可以获取一行中的任意的字段

05-异常处理

程序出现bug 需要进行调整

  • 不希望 程序直接崩溃

  • 给出bug的原因

语法

exception

when 错误类型 then

处理异常;

when others then

所有的异常

-- 其他异常 others

-- sqlcode错误代码

-- sqlerrm错误信息

06-游标

  • 记录数据获取的位置

  • 存储每一行数据

语法:

-- 创建游标语法:

-- cursor 游标名称 is SQL语句;

-- 使用游标语法:

-- open 游标名称

-- loop

-- 业务逻辑

-- fetch 游标名称 into 变量

-- exit when 游标名称%notfound

-- 业务逻辑

-- end loop;

-- close 游标名称

07-索引

作用

  • 加快查询速度

  • 索引是一个特殊的文件(字典的目录)

语法

-- create index 索引名 on 表名(索引字段);

create index index_test on t_index_test(name);

-- 主键就是唯一索引

相关推荐
武子康2 分钟前
Java-144 深入浅出 MongoDB BSON详解:MongoDB核心存储格式与JSON的区别与应用场景
java·开发语言·数据库·mongodb·性能优化·json·bjson
Raymond运维17 分钟前
MySQL包安装 -- SUSE系列(SUSE资源库安装MySQL)
linux·运维·数据库·mysql
高山上有一只小老虎23 分钟前
如何在DBeaver中配置高斯数据库的连接
数据库
云飞云共享云桌面26 分钟前
东莞精密机械制造工厂如何10个SolidWorks共用一台服务器资源
java·运维·服务器·网络·数据库·电脑·制造
ActionTech35 分钟前
2025 年 9 月《大模型 SQL 能力排行榜》发布,新增 Kimi K2 最新版测评!
数据库·sql·ai·oracle
lang201509282 小时前
掌握MyBatis Java API:高效操作数据库
java·数据库·mybatis
Mr.wangh2 小时前
Redis作为分布式锁
数据库·redis·分布式
白云偷星子2 小时前
MySQL笔记11
数据库·笔记·mysql
稚辉君.MCA_P8_Java3 小时前
WebSocket 是什么原理?为什么可以实现持久连接?
网络·数据库·websocket·网络协议
小光学长3 小时前
基于Vue的图书馆座位预约系统6emrqhc8(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
前端·数据库·vue.js