存储过程的使用(一)

news2025/5/25 10:55:02

目录

不带参数的存储过程

创建一个存储过程,向数据表 dept 中插入一条记录

带 IN 参数的存储过程

在存储过程中接受来自外部的数值,在存储过程中判断该数值是否大于零并显示

输入一个编号,查询数据表emp中是否有这个编号,如果有则显示对应员工姓名,如果没有,则提示没有对应员工

创建一个存储过程,向数据表 dept 中插入一条记录


Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645


不带参数的存储过程

前面已经介绍了存储过程的创建以及调用,下面就通过范例来学习存储过程的使用。
不带参数的存储过程相比起来较为简单,在存储过程中执行某一指定动作序列。下面看一个范例。

创建一个存储过程,向数据表 dept 中插入一条记录

分析:

这个范例不需要参数,只需要在存储过程体中添加一个插入语句即可。过程创建代码如下图

如上图所示。存储过程 pro_tidata 成功创建,尽管过程已经成功创建,但是并没有执行。如果想要执行这个过程,

执行代码如下图所示

即使用 EXEC 命令执行该过程。如前所述,也可以在 PL/SQL块中直接调用,

如下图所示。

带 IN 参数的存储过程

使用 IN 参数可以向存储过程中的程序单元输入数据,在调用的时候提供参数值,被存储过程读取。
这种模式是默认的参数模式。下面就看一个范例。

在存储过程中接受来自外部的数值,在存储过程中判断该数值是否大于零并显示

分析:

这个存储过程可以使用IN参数接受来自外部的数值,进而在存储过程中进行判断。

过程代码如下图所示。

下面来测试一下存储过程是否可用,使用EXEC命令,如下图所示

我们可以看出,存储过程接受外面调用传来的值,进行判断,实现最终要求。

输入一个编号,查询数据表emp中是否有这个编号,如果有则显示对应员工姓名,如果没有,则提示没有对应员工

分析:

输入编号可以对应一个 IN 参数,然后再存储过程中使用 WHERE 语句查询,使用 INTO 子句把结果赋予一个变量。

存储过程如下图所示。

存储过程创建后,下面测试一下是否符合要求,仍然使用EXEC 命令执行,如下图所示。

如图所示,当输入编号为“7369”时,可以在数据表中找到对应记录,并显示结果;如果查询编号为“7320”时,此时数据表中没有对应记录,则显示无此员工。

前面两个例子中 IN 参数只有一个,下面看一个有多个 IN 参数的情况。可以使用无参数存储过程一节的范例。

创建一个存储过程,向数据表 dept 中插入一条记录

分析:

我们这次使用IN参数来实现这个范例,可以定义3个IN参数,分别接收来自外部调用的值。
存储过程如下图所示。

过程创建后,可以通过调用向过程中传递参数,如下图所示。

调用的时候,需要注意,调用时参数的书写顺序应该与存储过程中 IN 参数的顺序一样,

如上图所示,

“22”对应“var deptno”,“MANAGER”对应“var ename”,“BEIJING”对应“var_loc”。如果顺序不一样,应明确指明,例如上面的指令可以修改为如下形式

EXEC pro_add(var_name=>'MANAGER',var_deptno=>22,var_oc=>'BEIING')

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

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

相关文章

【QT进阶】Qt Web混合编程之使用ECharts显示各类折线图等

往期回顾 【QT进阶】Qt Web混合编程之QWebEngineView基本用法-CSDN博客 【QT进阶】Qt Web混合编程之CMake VS2019编译并使用QCefView(图文并茂超详细版本)-CSDN博客【QT进阶】Qt Web混合编程之html、 js的简单交互-CSDN博客 【QT进阶】Qt Web混合编程之使…

【Web】2022DASCTF Apr X FATE 防疫挑战赛 题解(全)

目录 warmup-php soeasy_php warmup-java warmup-php spl_autoload_register函数实现了当程序遇到调用没有定义过的函数时,会去找./class/函数名.php路径下的php文件,并把它包含在程序中。 拿到附件拖进Seay里自动审计一下 显然利用终点为evaluateExp…

【面试经典 150 | 二叉树层序遍历】二叉树的右视图

文章目录 写在前面Tag题目来源解题思路方法一:层序遍历方法二:深度优先搜索 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于…

MySQL-使用CPP接入到MySQL

📟作者主页:慢热的陕西人 🌴专栏链接:MySQL 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 本博客主要内容介绍如何在c/cpp代码连接和管理数据库 文章目录 MySQL-…

SpringBoot-自定义注解AOP实现及拦截器示例

SpringBoot-自定义注解AOP实现及拦截器示例 一、四大元注解 当你在编写自定义注解时,Target、Retention、Documented 和 Inherited 是四个你可能会用到的元注解,它们可以帮助你更好地定义和使用注解。 1、Target Target 注解用于指定注解可以应用的程…

响应式修改 页面字体字号【大 中 小 】

浅浅记录下&#xff0c;工作中遇到的问题&#xff0c;修改页面文本字号。 <p class"change_fontSize">[ 字号 <a href"javascript:doZoom(18)">大</a><a href"javascript:doZoom(16)">中</a><a href"ja…

Java精品项目--第8期基于SpringBoot的宠物用品商城的设计分析与实现

项目使用技术栈 SpringBootThymeleafMyBatisMySQLAopJavajdk1.8 项目介绍 项目截图

嘉立创EDA基础

一&#xff0c;原理图部分 &#xff08;1&#xff09;路径设置 打开嘉立创以后&#xff0c;在右上角点击设置 可以看到下图 左边栏所有工程为工程路径&#xff0c;常用库为库路径 &#xff08;2&#xff09;模式设置 同样点击设置&#xff0c;可以看到下面界面 下图为在线系…

【读点论文】YOLOX: Exceeding YOLO Series in 2021,无锚框单阶段目标检测方案,解耦检测头的分类和回归分支,优化标签分配策略

YOLOX: Exceeding YOLO Series in 2021 Abstract 在本报告中&#xff0c;我们介绍了YOLO系列的一些经验改进&#xff0c;形成了一种新的高性能探测器—YOLOX。我们将YOLO检测器切换到无锚方式&#xff0c;并进行其他先进的检测技术&#xff0c;即去耦头和领先的标签分配策略S…

【Java EE】依赖注入DI详解

文章目录 &#x1f334;什么是依赖注入&#x1f340;依赖注入的三种方法&#x1f338;属性注入(Field Injection)&#x1f338;构造方法注入&#x1f338;Setter注入&#x1f338;三种注入优缺点分析 &#x1f333;Autowired存在的问题&#x1f332;解决Autowired对应多个对象问…

Compose Canvas

文章目录 Compose Canvas概述Canvas属性drawPoints 绘制点drawPoints属性使用 drawLine 绘制线drawLine属性使用 drawRect 绘制矩形drawRect属性使用 drawRoundRect 绘制圆角矩形drawRoundRect属性使用 drawCircle 绘制圆drawCircle属性使用 drawOval 绘制椭圆drawOval属性使用…

【宝德PI300T G2智能小站开发教程(三)】centos配置系统开发源

目录 一.前言 二.配置dns服务器 三.测试连通性 四.设置更新源文件 一.前言 openeular系统的宝德板子没有更新的国内源,要如何配置? 二.配置dns服务器 vi /etc/resolv.conf 添加如下内容: nameserver 8.8.8.8 nameserver 114.114.114.114 三.测试连通性 ping www.ba…

Python教学入门:流程控制

条件语句&#xff08;if 语句&#xff09;&#xff1a; 条件语句用于根据条件的真假执行不同的代码块。 x 10if x > 0: # 如果 x 大于 0print("x 是正数") # 输出&#xff1a;x 是正数 elif x 0: # 如果 x 等于 0print("x 是零") else: # 如果以…

【C语言】每日一题,快速提升(7)!

&#x1f525;博客主页&#x1f525;&#xff1a;【 坊钰_CSDN博客 】 欢迎各位点赞&#x1f44d;评论✍收藏⭐ 题目&#xff1a;X图形 示例&#xff1a; 输入&#xff1a; 5 //几行数输出&#xff1a; …

【GlobalMapper精品教程】074:从Lidar点云创建3D地形模型

本文基于地形点云数据,基于泊松方法、贪婪三角形测量方法和阿尔法形状创建3d地形模型。 文章目录 一、加载地形点云数据二、创建三维地形模型1. 泊松方法2. 贪婪三角形测量方法3. 阿尔法形状注意事项一、加载地形点云数据 加载配套案例数据包中的data074.rar中的地形点云数据…

【C语言】【数据结构】项目实践——贪吃蛇游戏(超详细)

前言 本篇博客我们来实现一个小游戏项目——贪吃蛇&#xff0c;相信肯定很多人都玩过&#xff0c;那么整个贪吃蛇是怎么实现出来的那&#xff0c;这个项目用到了很多方面的知识&#xff1a;C语言函数、枚举、结构体、动态内存管理、预处理指令、链表、Win32 API等。我们就通过这…

《QT实用小工具·三十二》九宫格炫酷主界面

1、概述 源码放在文章末尾 项目实现了九宫格炫酷主界面&#xff0c;下面是项目demo演示&#xff1a; 项目部分代码如下&#xff1a; #pragma execution_character_set("utf-8")#include "frmmain.h" #include "ui_frmmain.h"frmMain::frmMain…

DeepWalk论文精读

介绍 图神经网络的开山之作 DeepWalk&#xff1a;一种用于学习网络中顶点的潜在表示的新方法&#xff0c;使用随机行走中获得的局部信息&#xff0c;通过将序列视为句子&#xff0c;节点视为单词 通过随机游走可以采样出一个序列&#xff0c;序列好比一句话&#xff0c;节点…

postgresql数据库pg_dirtyread插件闪回技术 —— 筑梦之路

闪回查询&#xff08;Flashback Query&#xff09;是一种在数据库中执行时间点查询的技术。它允许查询数据库中过去某个时间点的数据状态&#xff0c;并返回相应的查询结果。通常闪回查询分为表级以及行级的闪回查询。PostgreSQL数据库由于MVCC的机制&#xff0c;对于DML的操作…