求sql触发器语句
users表
name companyId companyName
company表
companyId companyName
1 a公司
2 b公司
当添加user表时,跟据所填的users.comapnyId,用触发器产生users.companyName对应的company表的companyName值
select companyName from company where companyId =@companyId
SQL code:
create trigger tri_users_insert
on users
instead of insert
as
begin
insert users
select i.name,i.companyId,c.companyName
from inserted i,company c
where i.companyId=c.companyId
end
或者不用instead of,插入后用触发器进行更新
SQL code:
create trigger tri_users_insert
on users
after insert
as
begin
update u
set u.companyName=c.companyName
from users u,inserted i,company c
where i.companyId=c.companyId and i.companyId=u.companyId
end
支持
学习
最后不要用触发器了,用外键关联,手动添加.方便实用,维护也很好
相关问答:
create trigger TR_Delete_pm_WorkCard
on pm_WorkCard
for delete
as
if @@rowcount=0 return
begin tran
update pm_PlanEntry
set FDispatchQty=t4.FDispatchQty - t1.FDispat ......
INSERT INTO StudAchieve(studID,studName)
VALUES('2','abc'),('2','bcd'),('2','cde')
拼了半天也不对,及啊 。。。。
SQL c ......
遇到的现象是 同一个表的query会阻塞update
sql query 和update 操作 query会阻塞update操作吗
怎么解决
是不是什么设置不对还是怎的
如果会的话,那同一个表的频繁query and ......
比如 我有一个表 bumen
里面 有一个列 quanxian
id name quanxian
1 a 001;002;003;
2 b 002;003;
3 ......
比如 有一字段为:
Num
6111
6201
6520
65121
60087
46300
我想把6开头的全都替换成5开头
注意这是表里的数据,我想用SQL语句实现替换
SQL code:
update tb set
num = s ......