`

mysql触发器和存储过程小测试

    博客分类:
  • db
阅读更多

 

1. 为了测试触发器和存储过程,首先建立一张简单的表:

 

CREATE TABLE `airuser` (

  `userId` int(11) NOT NULL AUTO_INCREMENT,

  `username` varchar(128) NOT NULL,

  PRIMARY KEY (`userId`)

)ENGINE=InnoDB DEFAULT CHARSET=utf8

 

2. 为该表的插入操作,创建一张记录表:

 

CREATE TABLE `airuser_record` (

  `id` int(11) NOT NULL AUTO_INCREMENT,

  `username` varchar(45) DEFAULT NULL,

  `edittime` timestamp NULL DEFAULT NULL,

  `edittype` varchar(45) DEFAULT NULL,

  PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8

 

3. 编写一个插入操作的触发器:

DROP TRIGGER insert_trigger;

 

delimiter |

CREATE TRIGGER insert_trigger BEFORE INSERT ON airuser

FOR EACH ROW BEGIN

INSERT INTO airuser_record SET username = NEW.username, edittime=now(), edittype='insert';

END;

|

 

SHOW TRIGGERS;

 

4. 为批量插入编写存储过程:

DROP procedure createUsers;

 

delimiter |

create procedure createUsers(IN count int)

begin

declare i int;

set i=0;

while i<count do

insert into airuser set username=concat('user_',i);

set i=i+1;

end while;

end;

|

 

show procedure status;

 

5. 调用存储过程,验证存储过程是工作的,并验证在插入记录前,触发器能正确被触发:

call createUsers(10);

 

6. 最后通过插入记录表再次验证:

SELECT * FROM mars_jpa.airuser_record;

分享到:
评论

相关推荐

    如何测试mysql触发器和存储过程

    1. 为了测试触发器和存储过程,首先建立一张简单的表: 代码如下: CREATE TABLE `airuser` ( `userId` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(128) NOT NULL, PRIMARY KEY (`userId`) )ENGINE=InnoDB...

    如何用Toad调试存储过程、触发器

    Starting with the 10g release, Oracle now offers a new interface, known as JDWP, for debugging PL/SQL and stored Java procedures. Toad fully supports both interfaces, but we recommend you continue to ...

    MySQL面试题涵盖了数据库设计、存储过程和触发器、数据库复制和集群等方面的知识点,测试了面试者的MySQL数据库基础知识、问题

    这些MySQL面试题涵盖了数据库设计、存储过程和触发器、数据库复制和集群等方面的知识点,测试了面试者的MySQL数据库基础知识、问题解决能力和实际应用能力。 通过回答这些问题,面试者可以展现自己熟练掌握MySQL...

    非常详细的某培训机构mysql学习笔记

    MySQL触发器 MySQL存储过程与函数 MySQL3 MySQL安全机制 MySQL日志管理 MySQL数据备份 备份概述 mysqldump [逻辑] mydumper [逻辑] into outfile [逻辑] xtrabackup [物理] snapshot [物理] tar打包...

    一个小型商品后台管理数据库系统设计,主要展示mysql存储过程和触发器的使用.zip

    所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加...

    《高性能MySQL》(第3版)高清中文带目录版.pdf

    《高性能MySQL(影印版)(第3版)(英文版)》学习MySQL5.5版提供的新特性,包括存储过程、数据库分区、触发器和视图,实现在复制、高可用性和集群上的改进,实现MySQL在云环境中运行的高性能,优化高级查询特性,如全文...

    高性能MySQL(第3版) 中文PDF带目录清晰版PDF

    改资料对高级和中级以及初学者都有很大的帮助和数据库设计《高性能MySQL(影印版)(第3版)(英文版)》学习MySQL5.5版提供的新特性,包括存储过程、数据库分区、触发器和视图,实现在复制、高可用性和集群上的改进,实现...

    用mysql触发器自动更新memcache的实现代码

    mysql 5.1支持触发器以及自定义函数接口(UDF)的特性,如果配合libmemcache以及Memcached Functions for MySQL,就能够实现memcache的自动更新。简单记录一下安装测试步骤。 安装步骤 安装memcached,这个步骤很简单,...

    MySQL比较工具 CompareMySQL

    比较的对象包括:表、索引、视图、存储过程、函数、触发器、事件 提示了新增表的,则不提示新增表相关的索引与触发器 程序的相同目录下必须有配置文件:CompareMySQL.ini 配置文件中应包含DbSrc、DbDest配置项, ...

    高性能MySQL(第3版).part2

    7.4.1存储过程和函数278 7.4.2触发器279 7.4.3事件281 7.4.4在存储程序中保留注释283 7.5游标283 7.6绑定变量284 7.6.1绑定变量的优化286 7.6.2SQL接口的绑定变量286 7.6.3绑定变量的限制288 7.7用户自定义...

    MYSQL

    5.4.4 存储过程和触发器 5.4.5 外键(Foreign Keys) 5.4.5.1 不使用外键的理由 5.4.6 视图(Views) 5.4.7 '--'作为一个 注解的开始 5.5 MySQL 遵循什么标准? 5.6 怎样处理没有提交/回卷...

    MySQL中文参考手册.chm

    5.4.4 存储过程和触发器 5.4.5 外键(Foreign Keys) 5.4.5.1 不使用外键的理由 5.4.6 视图(Views) 5.4.7 '--'作为一个 注解的开始 5.5 MySQL 遵循什么标准? 5.6 怎样处理没有提交...

    MySQL网络培训精品班-Inside君姜承尧

    day014-触发器下 存储过程 自定义函数 MySQL 执行计划与优化器 day015-索引 B+树 上 day016-索引 B+树 下 Explain 1 day017-Explain 2 MySQL innodb引擎优化 day018-磁盘 day019-磁盘测试 day020-InnoDB_1 表空间 ...

Global site tag (gtag.js) - Google Analytics