SQL中创建存储过程
作者:ht巷子 发布时间:2024-01-23 17:42:58
标签:SQL,创建,存储过程
创建SQL存储过程需要使用到的语法
- 创建存储过程
CREATE 存储过程的名称(参数)
BEGIN
...需要执行的SQL语句
END
- 调用
CALL 存储过程的名称(参数)
个人看法,这就是一个函数...
无参数
CREATE PROCEDURE p_student_select()
BEGIN
SELECT * FROM student;
END
CALL p_student_select()
带参
# out其实就是cpp里的引用变量,in就是值传递
CREATE PROCEDURE p_count(OUT count int)
BEGIN
SELECT COUNT(*) into count FROM student;
END
set @num = 10;# 定义变量
CALL p_count(@num);#我的数据有11条
SELECT @num as num;#这里的num已经是11了
--这个就是一个调用参数的函数
CREATE PROCEDURE p_studnt_selectById(in id int)
BEGIN
SELECT * FROM student WHERE studentNo = id;
END
CALL p_studnt_selectById(4)
两个参数
#两个参数是一样的用法
CREATE PROCEDURE p_result_test(out num int, in id int)
BEGIN
SELECT COUNT(*) INTO num FROM result WHERE studentNo = id;
END
set @num = 0;
CALL p_result_test(@num, 3);
SELECT @num as num
declare关键字的使用
# declare的作用是用来定义变量
CREATE PROCEDURE p5()
BEGIN
DECLARE studentName VARCHAR(10);#创建了一个变量
set @studentName = 'HELLO';#给变量赋值
END
CALL p5();
SELECT @studentName
-- 说明了declare定义的变量可以在外部直接调用
IF语句
#if语句没啥说的,代码直接能看懂
CREATE PROCEDURE p6(in id int)
BEGIN
IF(id = 0) THEN
SELECT * FROM student;
ELSE
SELECT * FROM teacher;
END IF;
END
case语句
#看代码...
CREATE PROCEDURE p7(in tab VARCHAR(10))
BEGIN
CASE tab
WHEN 'student' THEN
SELECT * FROM student;
WHEN 'teacher' THEN
SELECT * FROM teacher;
END CASE;
END
loop语句
CREATE PROCEDURE p9(IN id INT)
BEGIN
addloop: LOOP
set id = id + 1;
SELECT id;
IF id > 10 THEN
LEAVE addloop;
ELSE
SELECT * FROM student;
END IF;
END LOOP addloop;
END
repeat
CREATE PROCEDURE p10(in count int)
BEGIN
REPEAT
set count = count + 1;
SELECT count;
UNTIL count > 10 END REPEAT;#count >10跳出
END
while
CREATE PROCEDURE p11(in num int)
BEGIN
while num < 10 DO
SELECT num;
SET num = num + 1;
END WHILE;
END
来源:https://blog.csdn.net/ht_vIC/article/details/121372997
0
投稿
猜你喜欢
- 目录一.准备工作二.预览1.启动2.运行3.结果三.设计思路四.源代码4.1 GUI.py4.2 Search_Apps.py五.总结一.准
- photoshop快捷键大全: 工具箱(多种工具共用一个快捷键的可同时按【Shift】加此快捷键选取)相关文章:网页设计软件FrontPag
- 最近做的一个项目对日期时间的处理比较多,最后整理到一个工具类里面,方便以后使用:1. 在utils文件夹下新建一个dateTimeUtil.
- 前言版本:windows 10.0python 3.8问题简述近期看到这么一个问题,有把值分别赋值给不同的变量,想在比较大小后得到变量的名称
- Python产生一个数值范围内的不重复的随机数,可以使用random模块中的random.sample函数,其用法如下:import ran
- 1.客户端的主页面:<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"
- 一、关于空值 提示: 在MySQL中如果不为NOT NULL字段赋值(等同于赋NULL值) 例如: 为一个NOT NULL的整型赋NULL值
- 一、PyPicGoPyPicGo 是一款图床工具,是PicGo是Python版实现,并支持各种插件自定义插件,目前PyPicGo自带了git
- 最近接触到微服务框架go-zero,翻看了整个框架代码,发现结构清晰、代码简洁,所以决定阅读源码学习下,本次阅读的源码位于core/sync
- 现在公布方法:替换editor.js 函数 // Toolbar button onmouseup
- watch监听对象里面值的变化后台管理有时候有选择选择框的不同选项,会影响下一个选择框的内容,如下图 .这个时候就可以
- 概念softmax函数是常用的输出层函数,常用来解决互斥标签的多分类问题。当然由于他是非线性函数,也可以作为隐藏层函数使用反向传播求导可以看
- SQL Server 2016带来全新突破性的 in-memory性能和分析功能来实现关键任务处理。全面的安全特性 -Alway
- monfs :我想知道javascript是否可以实现这样的功能来改变本地的IP地址,例如我本地设置的IP地址是192.168.0.1,我想
- 本文意在弄清楚这些概念间的关系及其作用。弄清Mysql在开启事务的情况下,每条sql执行时的加锁操作和MVCC版本控制。为使讨论简单,本文忽
- 主要步骤1.生成普通python数组(bytearray(),os.urandom())2.转换成numpy数组(numpy.array()
- 话不多说,先上效果,一个体验非常好的拖拽缓动的效果,让页面提升一个档次。这个效果看似很简单,到也困惑了很长时间,为什么别人写出来的拖拽体验为
- 前言相信大家在日常的web开发中,作为前端经常会遇到处理图片拉伸问题的情况。例如banner、图文列表、头像等所有和用户或客户自主操作图片上
- 一、条件判断 if ( ) { } elsif ( ) {&nb
- 查看当前连接系统参数:SHOW VARIABLES LIKE '%char%'; mysql> show variab