存储过程的使用(一)

目录

不带参数的存储过程

创建一个存储过程,向数据表 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.mzph.cn/pingmian/566.shtml

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

相关文章

Ubuntu日常配置

目录 修改网络配置 xshell连不上怎么办 解析域名失败 永久修改DNS方法 临时修改DNS方法 修改网络配置 1、先ifconfig确认本机IP地址(刚装的机子没有ifconfig,先apt install net-tools) 2、22.04版本的ubuntu网络配置在netplan目录下&…

全面讲解基于大型语言模型的智能Agent:发展历程、架构与基于Langchain的实现demo

在大型语言模型(LLM)的时代,基于大型语言模型的智能Agen在过去一年中取得了显著进展。 本文主要介绍基于大型语言模型的智能Agent,目录如下: Agent技术的起源。人工智能Agent技术的发展历程。基于LLM的Agent架构。基…

重构国内游戏账号登录系统的思考和实践

本期作者 背景 账号登录系统,作为游戏发行平台最重要的应用之一,在当前的发行平台的应用架构中,主要承载的是用户的账号注册、登录、实名、防沉迷、隐私合规、风控等职责。合规作为企业经营的生命线,同时,账号登录作为…

python爬虫之爬取携程景点评价(5)

一、景点部分评价爬取 【携程攻略】携程旅游攻略,自助游,自驾游,出游,自由行攻略指南 (ctrip.com) import requests from bs4 import BeautifulSoupif __name__ __main__:url https://m.ctrip.com/webapp/you/commentWeb/commentList?seo0&businessId22176&busines…

视觉slam14讲-大纲-持续更新

视觉slam入门太难 数学理论编程知识计算机视觉知识 缺一不可,大家一起加油

【RAG 论文】面向知识库检索进行大模型增强的框架 —— KnowledGPT

论文:KnowledGPT: Enhancing Large Language Models with Retrieval and Storage Access on Knowledge Bases ⭐⭐⭐⭐ 复旦肖仰华团队工作 论文速读 KnowledGPT 提出了一个通过检索知识库来增强大模型生成的 RAG 框架。 在知识库中,存储着三类形式的知…

跟TED演讲学英文:How AI could empower any business by Andrew Ng

How AI could empower any business Link: https://www.ted.com/talks/andrew_ng_how_ai_could_empower_any_business Speaker: Andrew Ng Date: April 2022 文章目录 How AI could empower any businessIntroductionVocabularyTranscriptSummary后记 Introduction Expensiv…

ROS 2边学边练(29)-- 使用替换机制

前言 启动文件用于启动节点、服务和执行流程。这组操作可能有影响其行为的参数。替换机制可以在参数中使用,以便在描述可重复使用的启动文件时提供更大的灵活性。替换是仅在执行启动描述期间评估的变量,可用于获取特定信息,如启动配置、环境变…

解决Ubuntu安装NVIDIA显卡驱动导致的黑屏问题

前言 本文是在经历了3天内5次重装Ubuntu系统后写下的,根本原因就是这篇文章的主题——安装NVIDIA显卡驱动!写下本文是为了让自己今后不再出同样类型的错误,同时,给其他出现同样问题的人一些启发! 本文实例的电脑配置如…

推荐一款websocket接口测试工具

网址:Websocket在线测试-Websocket接口测试-Websocket模拟请求工具 http://www.jsons.cn/websocket/ 很简单输入以ws开后的网址就可以了 这个网址是你后台设置的 如果连接成功会砸提示框内显示相关字样,反之则不行

(十八)C++自制植物大战僵尸游戏的游戏暂停实现

植物大战僵尸游戏开发教程专栏地址http://t.csdnimg.cn/uzrnw 游戏暂停 当玩家遇到突发事件,可以通过暂停功能暂停游戏,以便及时处理问题。在激烈的游戏中,玩家可能需要暂停游戏来进行策略调整。此外,长时间的游戏对战可能会让玩…

「探索C语言内存:动态内存管理解析」

🌠先赞后看,不足指正!🌠 🎈这将对我有很大的帮助!🎈 📝所属专栏:C语言知识 📝阿哇旭的主页:Awas-Home page 目录 引言 1. 静态内存 2. 动态内存 2.1 动态内…

超越现实的展览体验,VR全景展厅重新定义艺术与产品展示

随着数字化时代的到来,VR全景展厅成为了企业和创作者展示作品与产品的新兴选择。通过结合先进的虚拟现实技术,VR全景展厅不仅能够提供身临其境的观展体验,而且还拓展了传统展示方式的界限。 一、虚拟现实技术的融合之美 1、高度沉浸的观展体验…

本地项目如何设置https——2024-04-19

问题:由于项目引用了html5-qrcode插件,但是该插件在本地移动端调试时只能使用https访问,所有原本的本地地址是http,就需要改成https以方便调试。 解决方法:使用本地https证书 1)从项目文件下打开cmd逐步输…

vulfocus靶场tomcat-cve_2017_12615 文件上传

7.0.0-7.0.81 影响版本 Windows上的Apache Tomcat如果开启PUT方法(默认关闭),则存在此漏洞,攻击者可以利用该漏洞上传JSP文件,从而导致远程代码执行。 Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多…

基于达梦数据库开发-C#篇

文章目录 前言一、相关准备二、主要代码1.引入达梦类库2.连接达梦数据库3.DmCommand方式获取达梦数据库信息4.DmDataAdapter方式获取达梦数据库信息 总结 前言 达梦数据库是国产的新一代大型通用关系型数据库,全面支持 SQL 标准和主流编程语言接口/开发框架。其中.…

OpenHarmony实战开发-如何利用panel实现底部面板内嵌套列表。

介绍 本示例主要介绍了利用panel实现底部面板内嵌套列表,分阶段滑动效果场景。 效果图预览 使用说明 点击底部“展开”,弹出panel面板。在panel半展开时,手指向上滑动panel高度充满页面,手指向下滑动panel隐藏。在panel完全展开…

浏览器工作原理与实践--浏览上下文组:如何计算Chrome中渲染进程的个数

经常有朋友问到如何计算Chrome中渲染进程个数的问题,那么今天就来完整地解答这个问题。 在前面“04 | 导航流程”这一讲中我们介绍过了,在默认情况下,如果打开一个标签页,那么浏览器会默认为其创建一个渲染进程。不过我们在“04 |…

Echarts-知识图谱

Echarts-知识图谱 demo地址 打开CodePen 效果 思路 1. 生成根节点 2. 根据子节点距离与根节点的角度关系,生成子节点坐标,进而生成子节点 3. 从子节点上按角度生成对应的子节点 4. 递归将根节点与每一层级子节点连线核心代码 定义节点配置 functio…

基于springboot实现车辆管理系统设计项目【项目源码+论文说明】计算机毕业设计

基于springboot实现车辆管理系统演示 摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。本文介绍了车辆管理系统的开发全过程。通过分析车辆管理系统管理的不足,创建了一个计算机管理车辆管理系统的方案。文章介…