基于oracle数据库的PLSQL编程以及存储过程的创建和使用

news2024/11/17 1:38:01

PL/SQL编程

declare
begin
  dbms_output.put_line('helloworld!');
  -- line表示换行
end;

在这里插入图片描述

set serveroutput on; 开启打印输出
/ 表示结束

变量的声明与赋值

declare
  v_name varchar2(20) := '张三';
  v_sal  number;
  v_addr varchar2(200);
begin
  -- 直接赋值
  v_sal := 1111;
  -- 语句赋值
  select '字节跳动' into v_addr from dual;
  -- 打印输出
  dbms_output.put_line(v_name || ' ' || v_sal || ' ' || v_addr);
end;

引用类型的变量

变量的类型和长度取决于 表中字段的类型和长度

表名.列名%type

在这里插入图片描述
记录类型的变量

表名%rowtype

在这里插入图片描述

条件分支

declare
  v_count number;
begin
  select count(1) into v_count from emp;
  
  if v_count > 20 then
    dbms_output.put_line(v_count);
  elsif v_count >= 10 then
  -- elseif 少了一个e elsif
    dbms_output.put_line(v_count);
  else
    dbms_output.put_line(v_count);
  end if;
    
end;

循环

loop循环

declare
  v_num number := 1;
begin
  loop
    exit when v_num > 10;
    dbms_output.put_line(v_num);
    v_num := v_num + 1;
  end loop;
end;

无参游标

用于临时存储一个查询返回的多行数据

声明、打开、读取、关闭

在这里插入图片描述
在这里插入图片描述

--使用游标查询emp表中的所有员工的姓名和工资并且打印出来
declare

  cursor c_emp is select ename,sal from emp;
  v_ename emp.ename%type;
  v_sal emp.sal%type;

begin  
  open c_emp;
  
  loop
    fetch c_emp into v_ename,v_sal;
    exit when c_emp%notfound;
    dbms_output.put_line(v_ename||' '||v_sal);
  end loop;
  
  close c_emp;
end;

在这里插入图片描述
在这里插入图片描述
带参游标

--使用游标查询emp表中的所有员工的姓名和工资并且打印出来
declare

  cursor c_emp(v_deptno emp.deptno%type) is select ename,sal from emp where deptno = v_deptno;
  v_ename emp.ename%type;
  v_sal emp.sal%type;

begin  
  open c_emp(10);
  
  loop
    fetch c_emp into v_ename,v_sal;
    exit when c_emp%notfound;
    dbms_output.put_line(v_ename||' '||v_sal);
  end loop;
  
  close c_emp;
end;

在这里插入图片描述

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

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

相关文章

继承JsonSerializer+注解实现自定义数据脱敏方案

1、数据脱敏 数据脱敏是一种保护隐私数据的技术,通过将敏感信息转化为非敏感信息来实现对数据的保护,以保护敏感隐私数据的可靠性和安全性。 数据脱敏可以分为可恢复和不可恢复两类: 可恢复类可以通过一定的方式恢复成原来的敏感数据。不可恢复类则无…

UTONMOS:元宇宙时代已经来临

当我们站在这个新的人工智能时代的十字路口,不可避免地要面对一个问题:在这个技术革新的大潮中,区块链技术还有没有生存和发展的空间?本文将深入探讨这个问题,分析区块链在人工智能时代的优势、挑战以及未来的可能性。…

二十章多线程

概念 有很多工作是可以同时完成的,这种思想放在Java中被称为并发,并发完成每一件事被称为线程。 程序员可以在程序中执行多个线程,每一个线程完成一个功能//与其他线程并发执行,这种机制被称为多线程,并不算所有编程…

Java 之 lambda 表达式(二)---- Stream 操作 API

目录 一. 前言 二. Stream 创建 2.1. 使用集合来创建 Stream 2.2. 使用数组创建 Stream 2.3. 由值创建 Stream 2.4. 由函数创建无限流 Stream 2.5. 代码示例 三. Stream 操作 3.1. 中间型操作 3.1.1. filter() 3.1.2. map() 3.1.3. mapToInt()、mapToLong()、mapTo…

ESP32-Web-Server编程- JS 基础5

ESP32-Web-Server编程- JS 基础5 概述 JS 编程内容颇多,我们提供一些简单的示例,先玩再学,边玩边学。 示例1-演示通过 JS 进行温度转换 资源链接 对应示例的 code 链接 (点击直达代码仓库) 示例2-增加网页弹窗 演…

【数据结构—单链表的实现】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 1. 链表的概念及结构 2. 单链表的实现 2.1单链表头文件——功能函数的定义 2.2单链表源文件——功能函数的实现 2.3 单链表源文件——功能的测试 3.具体的理解操作…

Selenium 学习(0.14)——软件测试之测试用例设计方法——因果图法2【基本步骤及案例】

1、因果图法的基本步骤 2、案例分析 1)分析原因和结果 2)关联原因和结果 投入1元5角或2元,按下“可乐”,送出“可乐”【暂时忽略找零】 投入2元,按下“可乐”或“雪碧”。找零5角,送出“可乐”或“雪…

vue中keep-alive的使用

什么是keep-alive? keep-alive是一个内置组件,用于缓存和管理组件的状态。 当 keep-alive包裹一个组件时,这个组件的状态将会被缓存起来,而不是每次重新渲染。这在多个视图之间切换时特别有用,可以避免重复的创建和销…

uniapp前端+python后端=微信小程序支付到底怎么开发???国内的资料为什么没一篇能讲清楚,简简单单的只需要3步就可以了-V2版本

一.微信小程序支付 真的,在接到这个任务的时候,本以为很简单,不就是普通的浏览器复制粘贴,最不济找下gpt给生成一下,但是到实际开发就不同了,不是后端出问题就是前端,搜资料,上百度…

【Rust】基本的语法概念

Rust初学习 常见概念变量与可变性变量常量隐藏 数据类型标量类型字符类型复合类型元组数组 函数参数语句和表达式具有返回值的函数 注释控制流使用循环重复执行 常见概念 变量与可变性 变量 fn main() {let x 5;println!("The value of x is: {x}");x 6;println…

AlphaFold的原理及解读

1、背景 蛋白质是生物体内一类重要的生物大分子,其结构复杂多样,蛋白质的结构对于理解其功能和参与的生物学过程具有重要意义。从生物学角度上看,蛋白质的结构可以分为四个层次:初级结构、二级结构、三级结构和四级结构。 初级结…

中英双语大模型ChatGLM论文阅读笔记

论文传送门: [1] GLM: General Language Model Pretraining with Autoregressive Blank Infilling [2] Glm-130b: An open bilingual pre-trained model Github链接: THUDM/ChatGLM-6B 目录 笔记AbstractIntroduction 框架总结1. 模型架构2. 预训练设置3…

MySQL的Linux安装

在MySQL官网下载压缩包MySQL :: Download MySQL Community Server (Archived Versions) 下载完成后将压缩包上传到Linux中。我这里是下的CentOS的压缩包。 并且用的是FinalShell连接工具,可以选择压缩包直接上传。 ​ 上传完毕后,新建mysql文件夹&…

[DASCTF 2023 0X401七月暑期挑战赛] web刷题记录

文章目录 EzFlask方法一 python原型链污染方法二 flask框架静态文件方法三 pin码计算 MyPicDisk方法一 字符串拼接执行命令方法二 phar反序列化 EzFlask 考点:python原型链污染、flask框架理解、pin码计算 源码如下 import uuidfrom flask import Flask, request, …

Linux驱动开发笔记(五):驱动连接用户层与内核层的文件操作集原理和Demo

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/134561660 红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬…

OpenVINO异步Stable Diffusion推理优化方案

文章目录 Stable Diffusion 推理优化背景技术讲解:异步优化方案思路:异步推理优化原理OpenVINO异步推理Python API同步和异步实现方式对比 oneflow分布式调度优化优势:实现思路 总结: Stable Diffusion 推理优化 背景 2022年&am…

山西电力市场日前价格预测【2023-11-29】

日前价格预测 预测说明: 如上图所示,预测明日(2023-11-29)山西电力市场全天平均日前电价为275.28元/MWh。其中,最高日前电价为415.78元/MWh,预计出现在17:45。最低日前电价为0.00元/MWh,预计出…

Make Pixels Dance: High-Dynamic Video Generation论文解析

高动态视频生成的新进展 Make Pixels Dance: High-Dynamic Video Generation高动态视频生成的新进展前言视频生成模式摘要论文十问实验数据集定量评估指标消融研究 训练和推理技巧训练技术推理技术 更多的应用 Make Pixels Dance: High-Dynamic Video Generation 高动态视频生…

MySQL在Docker容器中的性能损失分析与优化策略

文章目录 1. Docker容器对MySQL性能的潜在影响1.1. IO性能1.2. 网络性能1.3. 资源隔离 2. 优化策略2.1. 使用本地数据卷2.2. 配置合理的容器网络2.3. 限制容器资源2.4. 使用容器编排工具 3. 性能测试与监控4. 结论 🎉MySQL在Docker容器中的性能损失分析与优化策略 ☆…

sqli-labs靶场详解(less17-less22)

目录 less-17 less-18 less-19 less-20 less-21 less-22 less-17 修改密码关卡 服务器后端 账号密码都存在数据库中 使用UPDATE进行修改密码 尝试username处 尝试好久尝试不出来应该是对用户名进行了过滤 于是对password进行注入 判断注入点 passwdadmin 报错&#xff1a…