Oracle 存储过程

Oracle 存储过程

  1. CREATEOR REPLACE PROCEDURE [procedure_name] IS ... 主体格式:
  • IS:用于分隔存储过程的头部声明部分和主体逻辑部分的开始。
  • CREATE OR REPLACE PROCEDURE:用于创建或替换已存在的存储过程。

image.png

  1. SELECT ... INTO 变量名:在 Oracle PL/SQL 中,**SELECT ... INTO**语句用于将查询结果存储到一个或多个变量中。

image.png

  1. FOR UPDATE:此子句将锁定符合 WHERE 条件的行,以便在事务中更新这些行的数据。在数据库中执行 FOR UPDATE 时,会锁定选中的行,以防止其他事务并发修改这些行。

image.png

  1. || 是字符串连接操作符 。

image.png

  1. := 是赋值操作符。

image.png

  1. RETURNING 子句:RETURNING 子句用于获取 INSERT、UPDATE 或 DELETE 操作影响的行,并返回指定列的值 ,一般配合into使用。

image.png

  1. sql%rowcount: 是一个 SQL 内置的伪列,它用于获取最近一个 SQL 语句影响的行数。在 PL/SQL 中,可以通过 sql%rowcount 来获取上一个 SQL 语句执行后受影响的行数,并将这个值赋给一个变量。

image.png

💡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(某个游标类型) 等等。

image.png

相关推荐

  1. oracle 存储过程模板

    2024-07-22 20:12:03       47 阅读
  2. Oracle 存储过程

    2024-07-22 20:12:03       24 阅读
  3. oracle--存储过程基本框架

    2024-07-22 20:12:03       107 阅读
  4. Oracle】PL/SQL语法、存储过程,触发器

    2024-07-22 20:12:03       52 阅读
  5. Oracle存储过程的使用与实例

    2024-07-22 20:12:03       29 阅读
  6. 如何加密Oracle后台存储过程

    2024-07-22 20:12:03       25 阅读
  7. 批量获取oracle存储过程

    2024-07-22 20:12:03       27 阅读
  8. oracle服务器存储过程中调用http

    2024-07-22 20:12:03       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-22 20:12:03       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-22 20:12:03       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-22 20:12:03       45 阅读
  4. Python语言-面向对象

    2024-07-22 20:12:03       55 阅读

热门阅读

  1. Redis哨兵模式实践

    2024-07-22 20:12:03       15 阅读
  2. MLlib机器学习入门:用Spark打造预测模型

    2024-07-22 20:12:03       19 阅读
  3. python绘制函数调用图总结

    2024-07-22 20:12:03       16 阅读
  4. PHP 表单验证:邮件和URL

    2024-07-22 20:12:03       17 阅读
  5. org.apache.ibatis.session是什么?

    2024-07-22 20:12:03       14 阅读
  6. C语言 指针方法 有一个班4个学生,5门课程

    2024-07-22 20:12:03       13 阅读
  7. C++中的explicit关键字

    2024-07-22 20:12:03       13 阅读
  8. 数组常见的实例方法

    2024-07-22 20:12:03       15 阅读
  9. 精通Gradle发布配置:打造自动化部署的高速公路

    2024-07-22 20:12:03       16 阅读
  10. 力扣283.移动零

    2024-07-22 20:12:03       15 阅读