全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

navicat中创建存储过程、触发器和使用游标的简单实例(图文)

1、建表
首先先建两张表(users表和number表),具体设计如下图:

2、存储过程
写一个存储过程,往users表中插入数据,创建过程如下:


代码如下

BEGIN
 #Routine body goes here...
 declare n bigint;
 set n = 201121029684;
 while n <= 201121029694
 do
 insert into users(student_ID) values(n);
 set n = n + 1;
 end while;
END


执行存储过程后可以看到users表中的数据如下:

整个存储过程的编写就完成了,当然这只是一个极为简单的例子,仅供入门参考。

3、触发器

在写触发器之前,我们先把users的数据清空

truncate table users; 

现在我们有两个表,我要做的事情就是,当我往users中插入数据后,number中也相应变化:

例如,number表中有一条初始数据,id=1,num=0;

当我往users中插入一条数据后,就触发number表中的num字段就加1,也就是记录用户数。

下面我们来实现这个小小的功能。

右击users表,选择设计表


选择触发器选项


begin
 update number
 set num = (select count(*) from users) ;
end

保存后,再往users表中添加新数据,再查看一下number中的数据,你会神奇的发现,number表中的数据也变了,自己动手试一下吧!

ps:存储过程需要程序员自己去执行,触发器,顾名思义,自动触发。

4、游标使用
我现在想做的是将student_ID字段都加上100,通过这个例子简单展示一下游标的使用。

创建一个存储过程,创建方式参考上面步骤。存储过程代码如下:

BEGIN
 #Routine body goes here...

 declare tmp bigint default 0;
 declare cur CURSOR FOR SELECT student_ID FROM users; -- 定义游标
 /*
 02000 发生下述异常之一: 
 SELECT INTO 语句或 INSERT 语句的子查询的结果为空表。 
 在搜索的 UPDATE 或 DELETE 语句内标识的行数为零。 
 在 FETCH 语句中引用的游标位置处于结果表最后一行之后。


 */
 declare CONTINUE HANDLER FOR SQLSTATE '02000' set tmp = 0; 


 OPEN cur; -- 打开游标
 FETCH cur INTO tmp; -- 游标向下走一步


 WHILE(tmp != 0)
 DO 
 select tmp; -- 将tmp打印出来,会发现tmp就像一个指针,一开始指向第一行,游标走一步,则指向下一行记录


 UPDATE users
 SET student_ID = tmp + 100
 WHERE student_ID = tmp;
 FETCH cur INTO tmp;
 END WHILE;

 CLOSE cur; -- 关闭游标
END

执行上面的存储过程,你会发现,users中的数据如你所愿的发生了变化。


# 存储过程  # 触发器  # 游标  # 使用 Navicat 创建数据库并用JDBC连接的操作方法  # MySQL数据库安装和Navicat for MySQL配合使用教程  # Navicat For MySQL的简单使用教程  # Windows7下安装使用MySQL8.0.16修改密码、连接Navicat问题  # 使用navicat将csv文件导入mysql  # 使用navicate连接阿里云服务器上的mysql  # 使用Navicat Premium将SQLServer数据导出为sql格式  # 使用navicat 8实现创建数据库和导入数据 管理用户与权限[图文方法]  # 详解Navicat简单使用方法  # 我往  # 走一步  # 的是  # 是一个  # 就像  # 你会  # 我现在  # 中有  # 仅供  # 要做  # 可以看到  # 这只  # 顾名思义  # 中也  # 两张  # 先把  # 想做  # 来实现  # 你会发现 


相关文章: 建站之星与建站宝盒如何选择最佳方案?  如何通过wdcp面板快速创建网站?  建站上传速度慢?如何优化加速网站加载效率?  定制建站策划方案_专业建站与网站建设方案一站式指南  网站好制作吗知乎,网站开发好学吗?有什么技巧?  如何自定义建站之星模板颜色并下载新样式?  高端云建站费用究竟需要多少预算?  制作宣传网站的软件,小红书可以宣传网站吗?  南平网站制作公司,2025年南平市事业单位报名时间?  设计网站制作公司有哪些,制作网页教程?  太平洋网站制作公司,网络用语太平洋是什么意思?  如何在西部数码注册域名并快速搭建网站?  海南网站制作公司有哪些,海口网是哪家的?  建站168自助建站系统:快速模板定制与SEO优化指南  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  制作企业网站建设方案,怎样建设一个公司网站?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  jQuery 常见小例汇总  清除minerd进程的简单方法  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  C#如何在一个XML文件中查找并替换文本内容  建站之星如何实现网站加密操作?  如何在腾讯云服务器快速搭建个人网站?  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  高防服务器:AI智能防御DDoS攻击与数据安全保障  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  宝塔面板创建网站无法访问?如何快速排查修复?  网站app免费制作软件,能免费看各大网站视频的手机app?  如何通过虚拟主机快速完成网站搭建?  ,交易猫的商品怎么发布到网站上去?  建站之星如何实现五合一智能建站与营销推广?  网站制作价目表怎么做,珍爱网婚介费用多少?  ui设计制作网站有哪些,手机UI设计网址吗?  制作旅游网站html,怎样注册旅游网站?  如何在阿里云虚拟服务器快速搭建网站?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  定制建站流程解析:需求评估与SEO优化功能开发指南  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  如何在云虚拟主机上快速搭建个人网站?  如何通过网站建站时间优化SEO与用户体验?  如何通过虚拟机搭建网站?详细步骤解析  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  宝塔建站助手安装配置与建站模板使用全流程解析  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  山东网站制作公司有哪些,山东大源集团官网?  如何通过智能用户系统一键生成高效建站方案?  如何解决VPS建站LNMP环境配置常见问题?  定制建站价位费用解析与套餐推荐全攻略  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。