存储过程和函数

【存储过程和存储函数】MySQL 1、收获通过本次实验我知道了什么是存储过程和存储函数,学会了存储过程的创建、修改、删除及调用SQL语句和存储函数的创建、修改、删除及执行SQL语句。2、存在的问题在成功创建存储过程之后,使用CAll语句执行失败,原因是数据库字段问题,没有设置为utf8。 阅读详情
-- 存储过程 PROCEDURE  和 自定义函数 FUNCTION

功能:
 PROCEDURE 用来更新/同步数据 。
 FUNCTION  用来 对复杂的计算进行封装 ;
   
/* 他们俩共同的特点就是对一些 公共的逻辑或者代码进行 封装,方便后续的更新和调用 。  面向对象 。*/
 

语法:
 -- 创建存储过程 
CREATE OR REPLACE PROCEDURE SP_过程名(参数1 [IN|OUT|IN OUT] 数据类型,参数2 [IN|OUT|IN OUT] 数据类型……)
IS /*|AS*/
BEGIN 
  过程的执行体 ;
END ;

 -- 创建自定义函数
CREATE OR REPLACE FUNCTION FUN_函数名(参数1 [IN|OUT|IN OUT] 数据类型,参数2 [IN|OUT|IN OUT] 数据类型……)
       RETURN 返回的数据类型
IS /*|AS*/
BEGIN 
   函数的执行体 ;
   RETURN  返回的计算结果 ; --里面必须要有一个RETURN子句
END ;


-------------------------------------------------------------------
-- 通过 SP 实现打印 HELLO WORLD 
CREATE OR REPLACE  PROCEDURE SP_HELLO_X
 IS 
BEGIN 
  DBMS_OUTPUT.PUT_LINE('HELLO WORLD');
END ;


  -- 调用存储过程 
BEGIN 
  SP_HELLO_X ;
END ;


  ----------------- 在存储过程中加入 参数实现打印想要打印的结果
CREATE OR REPLACE  PROCEDURE SP_HELLO_X1(P_STR  VARCHAR2)
 IS 
BEGIN 
  DBMS_OUTPUT.PUT_LINE(P_STR);
END ;

  -- 调用存储过程 
BEGIN 
  SP_HELLO_X('HELLO WORLD') ;
END ;




------------------- 自定义函数 主要用于计算 
-- 创建一个自定义函数 比较2个参数的大小 返回较大的结果 
CREATE OR REPLACE  FUNCTION  FUN_BIGGER(P_1   NUMBER  ,P_2  NUMBER )
  RETURN  NUMBER 
 IS 
BEGIN  
  IF NVL(P_1,0)>= NVL(P_2,0) THEN 
      RETURN  NVL(P_1,0);
  ELSE 
      RETURN  NVL(P_2,0);
  END IF ;
END ;



SELECT  FUN_BIGGER(2,5) , FUN_BIGGER(500,200)
FROM  DUAL ;

SELECT E.SAL ,E.COMM , FUN_BIGGER(E.SAL,E.COMM)
FROM EMP E



-- 创建一个 自定义函数 接受员工的 入职时间 返回员工的社保缴纳日期 以字符形式 显示为 YYYY-MM
CREATE OR REPLACE  FUNCTION  FUN_JN(P_DATE  DATE )
  RETURN  VARCHAR2
  IS 
BEGIN 
  RETURN  TO_CHAR(ROUND(P_DATE,'MM') ,'YYYY-MM') ;
END ;


SELECT E.* , FUN_JN(E.HIREDATE)
FROM EMP E ;



------------------------------------------------------------------------
通过SP封装造数据的脚本 

CREATE OR REPLACE PROCEDURE  SP_ZS(P_NUM  NUMBER)
 IS 
 
  /*V_TIMES    NUMBER(10) :=&请输入你要造的数据量 ;*/
  V_SNO      NUMBER(6) ;
  V_GENDER   VARCHAR2(3);
  V_NAME     VARCHAR2(12);
  V_PHONE_NO NUMBER(11);
BEGIN
  FOR X IN 1 .. P_NUM LOOP  -- 循环次数, 每次插入数据的数量
    
    V_SNO := SEQ_1.NEXTVAL ;   --通过序列 获得 不会重复的 学生编号
  
    V_GENDER := CASE
                  WHEN MOD(V_SNO, 3) = 0 THEN
                   '男'
                  ELSE
                   '女'
                END;
    V_NAME := CASE
                WHEN MOD(V_SNO, 3) = 1 THEN
                 '张' || V_SNO
                WHEN MOD(V_SNO, 3) = 2 THEN
                 '王' || V_SNO
                ELSE
                 '李' || V_SNO
              END;
  
    V_PHONE_NO := TRUNC(DBMS_RANDOM.VALUE('13000000000', '18900000000'));
  
    INSERT INTO STU_0118
      (SNO, SNAME, GENDER, PHONE_NO)
    VALUES
      (V_SNO, V_NAME, V_GENDER, V_PHONE_NO);
  
  END LOOP;
  COMMIT;
END;

  -- 调用
BEGIN 
  SP_ZS(5000);
END ;
 
  -- 验证 
SELECT S.*,
       COUNT(*) OVER() CT,
       MIN(S.SNO) OVER() MIN_SNO,
       MAX(S.SNO) OVER() MAX_SNO
  FROM STU_0118 S ;

什么是存储过程和函数? 存储过程和函数都是数据库中的一种对象,用于存储和重复使用一组SQL语句。它们都可以提高代码的复用性和执行效率,并在数据库中起到重要的作用。 阅读详情

相关推荐

双有源桥DC-DC变换器:原理、软开关与移相控制深度解析

隔离型DC-DC变换器是电力电子系统的核心部件,通过高频变压器实现电气隔离与电压匹配,保障系统安全与灵活适配。其工作原理基于功率半导体器件的开关动作,通过调制策略控制能量传输。该技术的核心价值在于实现高效、高功率密度的电能转换,并支持双向能量流动,这对于提升系统整体能效和运行灵活性至关重要。在新能源储能、电动汽车V2G及数据中心供电等场景中,双向能量流成为刚性需求,推动了如双有源桥等先进拓扑的应用。本文聚焦于双有源桥这一实现高效双向隔离变换的“明星”方案,深入剖析其利用移相控制实现软开关的机理。通过分析谐振

weixin_34195142的博客 381

MySQL存储过程详细演示示例(in、out、inout)

存储过程简述存储过程存储过程的优缺点优点缺点存储过程的创建和调用MySQL 存储过程中的关键语法案例存储过程的参数1、 in 输入参数2、out输出参数3、inout输入参数报错 简述存储过程 存储过程就是数据库中的函数,增强数据库的安全性 MySQL 5.0 版本开始支持存储过程。 存储过程的优缺点 优点 存储过程执行一次后,生成的二进制代码就驻留在缓冲区 存储过程是SQL语句加上控制语句的集合 存储过程存储在服务器端,客户端调用时,直接在服务器端执行,客户端只是传输的调用语句,从而可以降低网络负载 存

weixin_48190875的博客 1972

第二十届全国大学生智能车竞赛-地瓜机器人智慧医疗挑战赛技术解析与实战指南

本文深入解析了第二十届全国大学生智能车竞赛-地瓜机器人智慧医疗挑战赛的核心技术。内容涵盖从零搭建数字孪生环境、实现AI视觉任务(二维码识别、引导线追踪、目标检测)、在边缘设备部署轻量化大模型进行图生文描述,到遥操作与自主控制的平滑切换,并提供了基于ROS2的系统集成与赛场实战指南,助力参赛者高效备赛。

weixin_29252171的博客 2780

函数和存储过程的区别

一、函数   函数与存储过程相似,也是数据库中存储的已命名PL-SQL程序块。函数的主要特征是它必须有一个返回值。通过return来指定函数的返回类型。在函数的任何地方可以通过return expression语句从函数返回,返回类型必须和声明的返回类型一致。 二、函数和存储过程的优点:   1、共同使用的代码可以只需要被编写一次,而被需要该代码的任何应用程序调用(.net,c++,java,也可以使DLL库)。   2、这种几种编写、几种维护更新、大家共享的方法,简化了应用程序的开发维护,提高了效

木头 8534

GitHub漏洞挖掘与CVE提交实战指南:从发现到编号的完整链路

GitHub开源项目是现代软件供应链的核心节点,其安全漏洞直接影响全球数百万系统的机密性、完整性与可用性。理解漏洞本质需回归CIA三元组原理,而真实可利用性依赖对协议解析层、配置加载区和依赖传递链等高危模块的精准识别。技术价值在于将模糊的‘可疑逻辑’转化为符合MITRE CVE标准的可验证事件,支撑SDL流程、威胁情报建设与供应链风险管理。典型应用场景包括甲方安全工程师推动供应商修复、独立研究者参与负责任披露,以及DevSecOps团队构建自动化风险坐标系。本文基于27次CVE提交经验,聚焦GitHub代码

weixin_33646989的博客 653

实用工具抓取youtube热门数据

YouTube作为全球第二大搜索引擎,2024年日均视频播放量突破50亿次,头部创作者单月广告分成可达百万美元量级。但对数据分析者而言,其反爬机制堪称业界最严: ‌反爬技术升级‌:Google部署的Botguard系统可检测异常流量,触发机制包括: 单IP每小时请求超过50次即封禁 检测Headless浏览器指纹(如Chrome的navigator.webdriver属性) 动态加载内容(如评论数据需滚动页面3次后加载) ‌数据价值维度‌:某MCN机构研究显示,前100热门视频的标题关键词复用率高达67%

26万+

mysql 存储过程和函数

var_name为局部变量的名称。DEFAULT value子句给变量提供一个默认值。值除了可以被声明为一个常数之外,还可以被指定为一个表达式。如果没有DEFAULT子句,初始值为NULL。特定条件需要特定处理。这些条件可以联系到错误,以及子程序中的一般流程控制。定义条件是事先定义程序执行过程中遇到的问题,处理程序定义了在遇到这些问题时应当采取的处理方式,并且保证存储过程或函数在遇到警告或错误时能继续执行。这样可以增强存储程序处理问题的能力,避免程序异常停止运行。

一路向前 2261

更新3ds时和用读卡器读取传输文件操作不当导致的tf卡损坏无法读取需要格式化时出现的问题以及不想丢失文件并且修复的详细解决方法

前言: 不小心按了同意更新而且tf/sd卡损坏导致了3ds打开后都是出现 Anerror has occurred:(红色的) Failed to apply 1 FIRM patch(es). Press any button to shotdown 这样的画面,按了任意键后就关机,我找了很多资料和大佬的回答解决了这些问题,现在记录一下。 一.不小心按了更新导致上述的画面 原因:是因为系统升级了,但是里面的Luma3DS还没有更新,属于是更新了但没有完全更新的状态。 **修复方法** 1.首先请按

give_me_fish的博客 1万+

存储过程和函数的操作

一、学习任务1:简单数据记录查询 在MySQL软件中关于数据的操作,包括插入数据记录操作(CREATE,INSERT)、查询数据记录操作(SELECT),更新数据记录棟作(UPDATE)和删除数据记录操作(DELETE)。第9章已经详细介绍了关于数据的操作,本章将详细介绍关于数据的操作,即查询数据记录操作。 为了便于讲解,本节所涉及的查询数据记录操作,都是针对于数据库company表示雇员信息的表t_employee,关于雇员表(t_employee)的结构如下图所示,关于雇员表(t_employee)

Albert__Einstein的博客 8816

从Halcon到数学原理:3D点云平面拟合与距离计算的5个关键陷阱

本文深入剖析了3D点云平面拟合与点到平面距离计算中的五个关键陷阱,包括无限与有限平面的距离歧义、法向量方向随机性、拟合算法选择、点云密度不均以及实际部署中的性能衰减。文章穿透Halcon等工具的操作层面,回归数学原理与工程实践,为工业视觉和三维测量领域的高精度应用提供关键指导。

fire9的博客 455

【用unity实现100个游戏之1】制作类元气骑士、挺进地牢——俯视角射击游戏多种射击效果(一)(附源码)

俯视角射击游戏)是一类以俯视视角进行游戏展示的射击游戏。在这种游戏中,玩家控制着一个角色或载具,从俯视的角度上方观察游戏世界,并与敌人进行战斗。这种视角使玩家能够有更好的全局观察和策略性,同时也强调快速反应和精确射击。视角:俯视角度可以是固定的,也可以随着玩家角色的移动而变化,但都允许玩家以全局视角观察整个战场,有利于制定战略和规划行动。射击:玩家通常需要使用各种武器来与敌人进行战斗,包括枪械、爆炸物等。射击动作依赖于玩家的反应速度和准确性。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 7835

Mysql 创建存储过程和函数及各种例子

Mysql 创建存储过程和函数及各种例子

@素素~的博客 1万+

Python爬虫实战:爬取小红书数据做爆款分析,我破解了签名加密+移动端反爬(附完整代码)

爬取小红书数据的核心,不是“简单的HTTP请求”,而是“理解移动端接口的加密逻辑和反爬规则”——从x-s/x-t签名破解到移动端UA伪装,再到行为模拟,每一步都是对移动端爬虫的深度理解。这套方案的价值在于,不仅能稳定抓取小红书数据,还能从数据中拆解出有价值的爆款特征,真正把“数据”变成“洞察”。对程序员来说,小红书爬虫不仅是技术练手,更是了解新媒体平台数据逻辑的窗口。希望这篇分享能帮到做新媒体分析或爬虫进阶的小伙伴,也欢迎在评论区交流小红书反爬和爆款分析的更多技巧!

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2059

mysql存储过程和函数

--------------------------------案例演示-----------------------------------#创建存储过程(注意:in关键字可以省略不写,因为默认就是in,但是不建议省略in,最好是写上in,可读性比较好)SELECT IF(result > 0, '登录成功', '登录失败') AS "登录状态";CALL myP7(@num1, @num2, @num3)$ #@num3没办法正常返回。#使用select方式赋值(SELECT @局部变量名:=值;

Zero的博客 751

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

MySql 存储过程和函数

​存储过程和函数是 事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。存储过程和函数的区别在于函数必须有返回值,而存储过程没有。函数 : 是一个有返回值的过程;过程 : 是一个没有返回值的函数;

TMesh的博客 1163

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Mysql 存储过程和函数

BEGIN-- 定义局部变量-- 定义条件-- 在满足条件时执行的代码块ELSE-- 在不满足条件时执行的代码块END IF;-- 定义处理程序BEGIN-- 在发生异常时执行的代码块ROLLBACK;-- 回滚事务RESIGNAL;-- 重新抛出异常END;-- 执行可能引发异常的代码-- ...END //DELIMITER;SHOW CREATE PROCEDURE 存储过程名称;

qq_34690079的博客 1493

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

MySQL高级应用——存储过程和函数

函数与存储过程最大的区别就是函数调用有返回值,调用存储过程用call语句,而调用函数就直接引用函数名+参数即可Definer和sql security子句指定安全环境Definder是MySQL的特殊的访问控制手段,当数据库当前没有这个用户权限时,执行存储过程可能会报错sql secuirty的值决定了调用存储过程的方式,取值 :definer(默认)或者invoker。

happy_king_zi的博客 739

存储过程和存储函数

一.概述 存储过程:就是提前已经编译好的一段pl/sql语言,放置在数据库端,可以被直接调用。一般这一段pl/sql语句是固定步骤的业务。 二.语法【存储过程】 1.模板 create or replace procedure 过程名(变量名 【输出类型】 数据类型) is begin   sql语句 end; 2.语法解刨 1.rar 三.范例 四.语法【存储函数】 1.模板 c...

qq_45421186的博客 1543

MYSQL存储过程和函数

MYSQL、存储过程、函数

qq_40210639的博客 1384

存储过程和函数的区别

存储过程和函数目的都是可重复性执行操作数据库的sql语句的集合,调用存储过程和函数可以简化应用开发人员的工作,减少数据库和应用服务器之间的传输,能够提高数据库的处理效率。 存储过程和函数的区别有: 1.存储过程是SQL语句和可控制流程语句的预编译集合,而函数是由一个或者多个SQL语句组成的子程序; 2、存储过程可以在单个存储过程中执行一系列SQL语句,而自定义函数有诸多限制; 3、执行方式不同 一、含义不同 存储过程:它是SQL语句和可控制流程语句的预编译集合,以一个名称存储并...

xc123555的博客 1万+
上一篇: hive删除表语句
下一篇: mysql操作
普通网友
博客等级 码龄6年 137粉丝 103原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值