本文将介绍SQL触发器更新另一个表的详细情况,特别是关于sql触发器更新另一个表的数据的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于mysqlup
本文将介绍SQL触发器更新另一个表的详细情况,特别是关于sql触发器更新另一个表的数据的相关信息。我们将通过案例分析、数据研究等多种方式,帮助您更全面地了解这个主题,同时也将涉及一些关于mysql update 用一个表更新另一个表、MySQL 两张表关联更新(用一个表的数据更新另一个表的数据)、MySQL 两张表关联更新(用一个表的数据更新另一个表的数据)两个表使用条件从另外一个表获取数据更新本表、mysql 对比符合多条件 更新另一个表的问题的知识。
本文目录一览:- SQL触发器更新另一个表(sql触发器更新另一个表的数据)
- mysql update 用一个表更新另一个表
- MySQL 两张表关联更新(用一个表的数据更新另一个表的数据)
- MySQL 两张表关联更新(用一个表的数据更新另一个表的数据)两个表使用条件从另外一个表获取数据更新本表
- mysql 对比符合多条件 更新另一个表的问题
SQL触发器更新另一个表(sql触发器更新另一个表的数据)
我有一个Maximo数据库,该数据库具有无法更改的表结构。我希望在创建或更新主电子邮件地址时将其复制到PERSON表中。以下结构描述了PERSON表和EMAIL表
PERSON表:
PERSONID | EMAIL | ...(other irrelevant columns)...
EMAIL表:
PERSONID | EMAILADDRESS | ISPRIMARY | ...(other irrelevant columns)...
如您所见,这两个表在PERSONID列上链接。这是我希望触发器执行的操作:
如果EMAIL表已更新或插入了新行,那么如果ISPRIMARY字段,我想将EMAILADDRESS字段复制到PERSON表上的相应条目(由PERSONID链接)。等于1(1代表主要,0代表次要)。
我没有编写很多触发器,因此我想确保只查看正在更新或插入到EMAIL表中的行,并且仅在有新的/更新的主电子邮件地址时才更新PERSON表。预先感谢您的所有帮助!
更新1:
查看Cade的回复后,这是我开始形成的触发器:
CREATE TRIGGER EMAIL_update ON UPDATE,INSERT AS BEGIN
UPDATE p
SET p.email = i.emailaddress
FROM dbo.PERSON as p
INNER JOIN inserted AS i ON i.PERSONID = p.PERSONID AND i.isprimary=1
END
我相信只要有更新或将其插入电子邮件表,触发器就可以工作。
mysql update 用一个表更新另一个表
UPDATE tb1 as t1,tb2 SET t1.fd1=tb2.fd1 where t1.fd2=tb2.fd2 and t1.fd3=tb2.fd3
或
update a inner join(select f1,f2 from b) c on a.f1 = c.f1 set a.f2 = c.f2
MySQL 两张表关联更新(用一个表的数据更新另一个表的数据)
有两张表,info1, info2 。
info1:
info2:
现在,要用info2中的数据更新info1中对应的学生信息,sql语句如下:
UPDATE info1 t1 JOIN info2 t2
ON t1.name = t2.name
SET t1.age = t2.age, t1.class = t2.class;
运行结果如下:
更新过的info1:
至于效率问题,之前我有三张表,都在40万左右。需要将 table2 中的两个字段(step1),table3 中的一个字段(step2),更新到 table1 中。step1 用时半个小时左右,而 step2 用了两个多小时,不知为何。三个表都根据一个相同字段建立了唯一索引。
本人装了 navicat 破解版,垃圾,有时候越着急,就越是卡。
MySQL 两张表关联更新(用一个表的数据更新另一个表的数据)两个表使用条件从另外一个表获取数据更新本表
MySQL 两张表关联更新(用一个表的数据更新另一个表的数据)两个表使用条件从另外一个表获取数据更新本表
有两张表,info1, info2 。
info1:
info2:
方式一:要用 info2 中的数据更新 info1 中对应的学生信息,sql 语句如下:
UPDATE info1 t1 JOIN info2 t2
ON t1.name = t2.name
SET t1.age = t2.age, t1.class = t2.class;
更新过的 info1:
方式二: 要用 info2 中的数据更新 info1 中对应的学生信息,sql 语句如下:
UPDATE info1 if1 , info2 if2
SET if1.age = if2.age
WHERE
TRUE
AND if1.name = if2.name
两种方式都一样,看个人习惯使用哪种方式实现
mysql 对比符合多条件 更新另一个表的问题
a b c三个表
a数据表
b为条件设置表 bid b1 b2 b3四个字段
c为用户表cid uid等字段
统计a表 符合3个条件a1 a2 a3三个条件,这三个条件是统计用户数据得出的条件。
然后根据c表该用户cid更新的uid值
事实上就是把符合三个条件的bid的值更新到c表的cid
b表设定的条件
bid=1 b1=10 b2=100 b3=180
bid=2 b1=30 b2=150 b3=200
bid=3 b1=50 b2=180 b3=230
统计好的$a1 $a2 $a3三个条件去对比>=b表b1 b2 b3值,然后将对应条件的bid值 更新到c表的cid
请问这个怎么做?用内链接可是c表的cid只等于b表bid其中的一个值。
我现在的做法是两个sql语句,1一个查询符合条件的bid,第2个语句将符合条件的bid再更新到c
有没有办法一个mysql语句完成?
回复讨论(解决方案)
你这个三个表,只有对用2个表有对应的关联字段,在根据条件去查下,就行了,最关键是得要有关联字段才行
目前只有两个语句完成了,关联应该不太可能。
关于SQL触发器更新另一个表和sql触发器更新另一个表的数据的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于mysql update 用一个表更新另一个表、MySQL 两张表关联更新(用一个表的数据更新另一个表的数据)、MySQL 两张表关联更新(用一个表的数据更新另一个表的数据)两个表使用条件从另外一个表获取数据更新本表、mysql 对比符合多条件 更新另一个表的问题等相关知识的信息别忘了在本站进行查找喔。
本文标签: