视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001 知道1 知道21 知道41 知道61 知道81 知道101 知道121 知道141 知道161 知道181 知道201 知道221 知道241 知道261 知道281
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
数据库触发器怎么写
2022-03-22 23:33:16 责编:小OO
文档

数据库触发器是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,在当我们在做用户模块的表设计的时候,建了联用户信息表(t_user)和账号表(t_account),其中账号表(t_account)用来进行账号的注册 ,密码的修改等操作,而用户表(t_user)则用来存储用户的基本信息(比如:姓名,年龄等),通常我们会在 t_user中创建外键(userid)进行关联t_account以保证每个账号下对应一个用户信息,当账号(t_account)注册成功,这时则可以使用数据库触发器来实现在用户(t_user)中实时地、准确地添加相应信息,所以是一个可以提高我们处理数据的工具,因此小编就来给大家介绍一个简单的数据库触发器的写法。

语法:

CREATE

    TRIGGER `jony_keer`.`ins_account` AFTER INSERT

    ON `jony_keer`.`t_account`

    FOR EACH ROW BEGIN

    INSERT INTO `t_user`(`userid`,`cellphone`,`account_psd`)  VALUES  (new.`account_id`,new.`cellphone`,new.`account_psd`);

    END$$

解析:

TRIGGER  触发器

`jony_keer`.`ins_account` 触发器名称,jony_keer是我的数据库名字,ins_account 才是实际的触发器名称

AFTER 表示执行条件,有 BEFORE(之前 )AFTER(之后)

INSERT ON 表示在执行了插入操作  有INSERT/UPDATE/DELETE 三种 

`jony_keer`.`t_account` 接下来的这个是表示触发器所在的表(可以理解为触发器在t_account 表插入一组出具后执行)

FOR EACH ROW BEGIN  固定语法,后面跟你要做的事情例如我要做的事情是在t_user表中插入

`userid`,`cellphone`,`account_psd` 三个记录

INSERT INTO `t_user`(`userid`,`cellphone`,`account_psd`)  VALUES  (new.`account_id`,new.`cellphone`,new.`account_psd`);

 其中new是t_account 表中插入的数据 ,我们把 t_account 表中插入的  account_id  cellphone account_psd 赋值给t_user表中的 userid  cellphone account_psd ,这样一个简单的触发器就做好了。

以下是具体的表结构:

t_account

t_user

可以看到我们两个表中目前还没有数据,接下来我们要给表t_account中添加一组数据,看看t_user表是否会给我们带来惊喜,这里我已经做好了程序接口,只需要调用一下就好了。

/**

 * 注册

 * @param cellphone

 * @param psd

 * @return

 */

@RequestMapping(value = "register", method = RequestMethod.POST)

@ResponseBody

public ResponseModel registerController(@RequestParam(value = "cellphone", required = true) String cellphone, @RequestParam(value = "psd", required = true) String psd) {

    return service.insertRegister(cellphone,psd);

}

/**

 * 插入信息(注册账号)INSERT

 */

public ResponseModel insertRegister(String cellphone, String psd){

    if (!MobileUtils.isMobileNO(cellphone)) {

        return new ResponseModel(false, "手机号不正确!");

    }

    int success = getActIsExist(cellphone);

    if (success == 1) {

        return new ResponseModel(false, "该手机号已经注册,请前往登录。");

    }

    int i=0;

    try {

        i = accountRepository.insertRegisterModelOne(cellphone,psd);

    }catch (Exception e){

        i=0;

    }

    if (i > 0) {

        return new ResponseModel(true, "注册成功!");

    } else {

        return new ResponseModel(false, "注册失败!");

    }

}

//新增一条(注册)

    @Query(value = "INSERT INTO t_account (cellphone,account_psd) VALUES (?1, ?2)", nativeQuery = true)

    @Modifying

    int insertRegisterModelOne(String cellphone, String account_psd);

上面三个段代码是我们已经做好的注册接口,接下来我们就去启动服务器开始验证吧,打开Postman 调用服务器接口。

我们看下t_account中的数据:

我们看下t_user中的数据:

这时我们可以看到,t_account表中的 account_id cellphone  account_psd 已经插入进去,并且 t_user表中同时也插入userid cellphone和account_psd,而且是一一对应的。

好了,一个简单的触发器就是这么完成的,希望以上的内容对你能够有帮助。

下载本文
显示全文
专题如何使用数据库专题数据库修改数据专题数据库服务器是什么专题数据传输专题中国期刊全文数据库专题数据库表的创建专题sql怎么用代码创建数据库专题数据库存储过程专题db数据库文件怎么打开专题打开数据库专题数据库数据字典怎么写专题数据字典怎么写专题html怎么连接数据库专题数据库使用专题数据库开发工具专题如何连接数据库专题数据库怎么连接专题html连接数据库专题sql server服务器名称专题数据库常用命令专题