当前位置: 首页 > 编程笔记 >

java中创建两表之间的触发器详解

夏侯瑞
2023-03-14
本文向大家介绍java中创建两表之间的触发器详解,包括了java中创建两表之间的触发器详解的使用技巧和注意事项,需要的朋友参考一下

创建一个触发器实现借书自增数量/还书自减

在 books 被借阅属性 islend 更新时在 lender 表中同时更新借书数量 amount,其中islend 属性更新后保存的是借阅人 lender 的 id,lender 中 id 是主键,books 表中 islend 是外键,连接这两张表。

两个数据库表结构在下方给出,目前写的触发器如下:

CREATE TRIGGER `lendBook`
AFTER UPDATE ON `books`
FOR EACH ROW
 BEGIN
UPDATE lender
SET amount = ifnull(lender.amount ,0)+1
WHERE id = new.isLend;
 INSERT INTO test (v1) VALUES (new.isLend);
END

lender 表结构如下:

books 表结构如下:

测试语句

try {
ps = conn.prepareStatement(sql);
ps.setString(1, "1");
ps.setString(2, String.valueOf(bookId));
ps.setString(3, String.valueOf(id));
row = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}

可以正常实现借/还书功能,触发器的功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍mysql触发器之创建使用触发器简单示例,包括了mysql触发器之创建使用触发器简单示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了mysql触发器之创建使用触发器。分享给大家供大家参考,具体如下: 我们可以可以使用CREATE TRIGGER语句创建一个新的触发器,来看下具体的语法: 然后我们来详细看下上述sql的具体含义: 将触发器名称放在CREATE TRIGGER

  • 主要内容:基本语法,创建 BEFORE 类型触发器,创建 AFTER 类型触发器触发器是与 MySQL 数据表有关的数据库对象,在满足定义条件时触发,并执行触发器中定义的语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性。 基本语法 在 MySQL 5.7 中,可以使用 CREATE TRIGGER 语句创建触发器。 语法格式如下: CREATE <触发器名> < BEFORE | AFTER > <INSERT | UPDATE | DELETE > ON <

  • 进入函数详情页,点击“触发器”标签,展示当前函数配置的触发器,点击“创建新触发器”,选择HttpTrigger,填写对应信息。 路径映射必须以“/”开头,可以选择以GET或POST方法触发函数。 创建触发器后,触发器详情页面可对触发器进行修改及删除的操作,点击下图所示图标,可以获得HTTPS URL,通过该URL在浏览器或终端直接访问,触发Hello World函数。

  • 请帮助我解决以下问题 我需要创建一个名为的触发器,每当“contact”表更新时就会触发该触发器。在更新联系人详细信息之后,这个触发器将把org_name和action插入到表中。受影响日志表中的操作名称为。 id整数org_name varchar2(255)street_address1 varchar2(255)street_address2 varchar2(255)城市varchar2(

  • 我试图在插入后创建一个触发器,它将更新另一个表。 这是我尝试的代码: 但我会收到以下错误消息: 1064-您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册,了解使用“@qte AS integer”附近的正确语法;声明@code为整数;从INSERTED中选择@QTE=qteInv;%s“位于第4行

  • 问题内容: 当我想使用SQL Server 2008 R2的预定义“创建触发器”创建触发器时,我迷路了。您能否给我一个直接的SQL语句,我可以用它创建触发器,并告诉我如何定义AFTER,BEFORE等所有内容? 另外,我如何知道行UPDATED / INSERTED / DELETED,并使用其列值在触发器内进行操作? 问题答案: 数据库是面向集合的,触发器也不例外。当执行给定的操作时,触发器将触