`

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触发器和存储过程

    MySQL触发器和存储过程是数据库管理系统中非常重要的两个特性,它们允许开发者在特定的数据操作上下文中执行自定义的逻辑。本文将详细介绍如何测试这两种数据库对象。 1. **创建测试环境** - 首先,我们需要创建一...

    MYSQL触发器教程.doc

    MySQL触发器是数据库管理系统中的一种重要机制,它允许在特定的数据库操作(如INSERT、UPDATE、DELETE)发生前后自动执行一段...然而,由于潜在的限制和可能的影响,使用触发器时需要谨慎,并确保充分的测试和验证。

    实验九MySQL的触发器.pdf

    通过这个实验,学生可以深入理解MySQL触发器的工作原理,以及如何在实际环境中应用它们来增强数据库的管理和安全性。实验报告应包含实验步骤、观察结果、问题分析和总结,以巩固理论知识和实践技能。

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

    调试存储过程和触发器是开发和优化数据库应用程序的关键步骤。以下是使用Toad进行调试的基本步骤和要求: **调试需求:** 1. **SYS.DBMS_DEBUG** 库必须可用。这是Oracle提供的调试API,用于设置断点和检查变量。 2...

    JDBC创建触发器 JDBC存储过程 JDBC创建表 数据备份 java备份数据库/JAVA恢复数据、java导入sql脚本

    `MySqlUtil.java`可能包含与MySQL数据库交互的通用工具类,`MySqlJdbcTest.java`和`MySqlTest.java`则可能包含了具体的测试用例,比如创建触发器、执行存储过程、备份和恢复数据的代码实例。 总之,通过JDBC,Java...

    mysql触发器.pdf

    MySQL触发器是数据库管理和维护中非常有用的工具,通过本文档提供的信息和示例,我们可以了解到如何创建和管理触发器,以及它们在实际场景中的应用。熟练掌握触发器的使用,可以极大地提高数据库的维护效率和数据...

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

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

    mysql的触发器教程和示例代码

    4. 代替存储过程:在某些情况下,触发器可以替代存储过程来实现逻辑,但存储过程更易于管理和测试。 五、触发器的应用场景 1. 数据验证:在数据插入或更新前检查其格式或值。 2. 数据审计:记录每次对表的修改操作...

    MYSQL触发器教程.pdf

    MySQL触发器是数据库管理系统中的一种重要机制,它允许在特定的数据库操作(如INSERT、UPDATE、DELETE)发生时自动执行预定义的SQL语句。触发器的引入主要是为了增强数据库的逻辑控制,确保数据的完整性和一致性,...

    mysql触发器及相关代码示例

    ### MySQL触发器及相关代码示例 #### 一、触发器概念 触发器(Trigger)是一种特殊类型的存储过程,它能够监视数据库中的特定事件,并在这些事件发生时自动执行预定义的操作。触发器不是通过直接调用执行的,而是由...

    mysql使用触发器造测试数据

    总的来说,使用MySQL触发器来自动化测试数据的初始化和维护是一种高效的方法,尤其适用于临时性的测试环境。通过精心设计的触发器,可以确保在`t_account`表上的任何更改都能正确反映在相关的`A`表和`B`表中,从而...

    Mysql导出存储过程

    ### MySQL导出存储过程详解 #### 一、背景与问题描述 在进行某学院网站部署的过程中,遇到一个错误:“FUNCTION config_get does not exist”。通过排查发现,错误出现在Java代码中的`conn.prepareCall("{call ...

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

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

    守护数据圣域:MySQL触发器在实现数据完整性中的应用

    触发器是一种特殊类型的存储过程,它们在特定的数据库操作(如插入、更新或删除记录)发生时自动执行。触发器可以用来: 1. **自动实施复杂约束**:实现复杂的业务规则和数据完整性约束。 2. **维护数据一致性**:...

    mysqltrigger触发器.pdf

    触发器是一种存储过程,它允许用户定义响应特定事件(如插入、更新或删除记录)时自动执行的操作。通过触发器,开发人员能够确保数据库完整性,实现复杂的业务逻辑,并监控数据变化。 #### 触发器基本语法及组成...

    存储过程和触发器实验-大学数据库

    实验分为两大部分:存储过程的创建和执行,以及触发器的设定和测试。通过实际操作,加深了对存储过程和触发器的理解。 **实验结果和心得** 尽管实验过程中遇到了困难,但通过自我学习和同学的帮助,最终完成了实验...

    MySQL 在触发器里中断记录的插入或更新?

    在MySQL数据库中,触发器(Trigger)是一种特殊的存储过程,它会在特定的数据库操作(如INSERT、UPDATE或...对于更多关于MySQL触发器的知识,包括创建、使用限制以及如何测试,可以参考相关文章或文档以获取深入理解。

    oracle Mysql相互转化的工具

    4. 触发器和存储过程转换:Oracle和MySQL都有自己的SQL语法和存储过程实现,工具需能处理这类复杂的逻辑转换。 5. 安全性和稳定性:迁移过程中,数据的安全性和迁移过程的稳定性至关重要。工具应有错误处理机制,能...

Global site tag (gtag.js) - Google Analytics