Oracle 存储过程

Oracle 存储过程

  1. CREATEOR REPLACE PROCEDURE [procedure_name] IS ... 主体格式:
  • IS:用于分隔存储过程的头部声明部分和主体逻辑部分的开始。
  • CREATE OR REPLACE PROCEDURE:用于创建或替换已存在的存储过程。
  1. SELECT ... INTO 变量名 :在 Oracle PL/SQL 中,**SELECT ... INTO**语句用于将查询结果存储到一个或多个变量中。
  1. FOR UPDATE:此子句将锁定符合 WHERE 条件的行,以便在事务中更新这些行的数据。在数据库中执行 FOR UPDATE 时,会锁定选中的行,以防止其他事务并发修改这些行。
  1. || 是字符串连接操作符 。
  1. := 是赋值操作符。
  1. RETURNING 子句 :RETURNING 子句用于获取 INSERT、UPDATE 或 DELETE 操作影响的行,并返回指定列的值 ,一般配合into使用。
  1. sql%rowcount: 是一个 SQL 内置的伪列,它用于获取最近一个 SQL 语句影响的行数。在 PL/SQL 中,可以通过 sql%rowcount 来获取上一个 SQL 语句执行后受影响的行数,并将这个值赋给一个变量。

💡Tips: "内置的伪列"(pseudo column)指的是一类特殊的列,它们不是实际存储在表中的数据列,而是由数据库系统提供的特殊值或信息。这些伪列在 SQL 查询中可以像普通列一样使用,但它们的值通常是根据当前执行的上下文或者特定规则计算得到的,而不是存储在表中的实际数据。

  1. BEGIN ... END:是用来定义一个块(block)的语法结构 , 这个块可以包含一系列的语句和程序逻辑,类似于其他编程语言中的代码块或者函数体。
  • 逻辑分组 :BEGIN ... END 可以将多条语句组织在一起,形成一个逻辑上的整体。 这些语句可以是变量声明、条件判断、循环、SQL 操作等,用于完成特定的任务或逻辑流程。
  • 错误处理:BEGIN ... END 块经常用于实现错误处理逻辑。通过捕获和处理异常,可以在 BEGIN 块中编写可能触发异常的代码,然后在 EXCEPTION 块中定义异常处理方式。
  • 事务控制:BEGIN ... END 块可以作为事务的一部分。在块的开始和结束之间执行的 SQL 操作,将作为一个原子操作提交或回滚,以确保数据的一致性和完整性。
  1. %TYPE:是一个类型属性限定符,它可以用来声明一个变量、参数或表列的数据类型,以确保数据类型的一致性,并且在数据模型发生变化时可以自动同步更新。
  • 还包括:BAS_ITEM%ROWTYPE(某一行)SYS_REFCURSOR(某个游标类型) 等等。
相关推荐
REDcker6 分钟前
C86 架构详解
数据库·微服务·架构
世人万千丶6 分钟前
Day 5: Flutter 框架 SQLite 数据库进阶 - 在跨端应用中构建结构化数据中心
数据库·学习·flutter·sqlite·harmonyos·鸿蒙·鸿蒙系统
学编程的小程1 小时前
从“单模冲锋”到“多模共生”——2026 国产时序数据库新物种进化图谱
数据库·时序数据库
卓怡学长1 小时前
m111基于MVC的舞蹈网站的设计与实现
java·前端·数据库·spring boot·spring·mvc
存在的五月雨1 小时前
Redis的一些使用
java·数据库·redis
小冷coding8 小时前
【MySQL】MySQL 插入一条数据的完整流程(InnoDB 引擎)
数据库·mysql
鲨莎分不晴9 小时前
Redis 基本指令与命令详解
数据库·redis·缓存
专注echarts研发20年9 小时前
工业级 Qt 业务窗体标杆实现・ResearchForm 类深度解析
数据库·qt·系统架构
周杰伦的稻香12 小时前
MySQL中常见的慢查询与优化
android·数据库·mysql
冉冰学姐12 小时前
SSM学生社团管理系统jcjyw(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·学生社团管理系统·多角色管理