三十六、存储过程小练

简介: 三十六、存储过程小练

上一篇文章讲解了存储过程的语法,那么这篇文章我们就利用存储过程来实现一个功能:给用户发邮件。

一、创建表

首先我们需要创建一个用户表和邮件表

create table userinfo(
    id int not null auto_increment primary key,
    name varchar(30),
    email varchar(30)
);
create table email(
    id int not null auto_increment primary key,
    email varchar(30),
    content text,
    send_datetime datetime
);

二、逻辑分析

1. 获取指定用户的 email;

select email from userinfo where id=用户id

2. 向 email 表插入数据

insert into email(email,content,send_datetime) values (邮箱,发送内容,now())

三、实现

根据上面分析的逻辑和存储过程的语法,实现如下:

delimiter //
create procedure send_email(in userid int,in content text)
begin
    /*根据用户id获取邮箱*/
    set @user_email=(select email from userinfo where id=userId);
    /*邮件内容写入email表*/
    insert into email(email,content,send_datetime) values(@user_email,content,now());
end;
//
delimiter ;

调用:

call send_email(1,'hello mysql');
目录
相关文章
|
3月前
|
存储 SQL 数据库
十六、存储过程
十六、存储过程
25 0
|
存储 SQL 算法
MySQL基础篇(04):存储过程和视图,用法和特性详解
MySQL基础篇(04):存储过程和视图,用法和特性详解
155 0
|
存储 SQL 关系型数据库
三十五、存储过程的基本使用
三十五、存储过程的基本使用
116 0
|
存储 监控
三十八、触发器实战
三十八、触发器实战
79 0
|
SQL 数据库
SQL基础【十九、触发器】(不建议使用触发器的原因)
SQL基础【十九、触发器】(不建议使用触发器的原因)
689 0
SQL基础【十九、触发器】(不建议使用触发器的原因)
|
JavaScript Android开发
第二十三章:触发器和行为(十二)
淡化和定向在本书中,您已经看到了几个颜色选择程序,可以通过使用三个Slider元素以交互方式形成颜色。 本章的最后一个示例是另一个颜色选择程序,但是这个程序为您提供了选项:它包含三个标记为“RGB Hex”,“RGB Float”和“HSL”的单选按钮(实际上是简单的Label元素)。
678 0
|
JavaScript Android开发
第二十三章:触发器和行为(十一)
单选按钮内置于旧汽车仪表板中的无线电通常具有一排六个(左右)按钮,可以为各种无线电台“编程”。 按下其中一个按钮会导致无线电跳转到该预选电台,并且还会弹出前一个选择按钮。那些旧的汽车收音机现在是古董,但我们的电脑屏幕上的互斥选项仍然由我们称为单选按钮的视觉对象表示。
883 0
|
存储 Oracle 关系型数据库