CREATE trigger points
on orders
for insert as
begin
update [user] set jifen=jifen+I.points
from [user] join (select userid, points=sum(points) from inserted group by userid) I on [user].userid=I.userid
insert [user]
select userid, points=sum(points) from inserted
where userid not in (select userid from [user])
group by userid
end
这个运行的时候为什么提示:
服务器: 消息 213,级别 16,状态 4,过程 points,行 8
插入错误: 列名或所提供值的数目与表定义不匹配。是那里错了啊
on orders
for insert as
begin
update [user] set jifen=jifen+I.points
from [user] join (select userid, points=sum(points) from inserted group by userid) I on [user].userid=I.userid
insert [user]
select userid, points=sum(points) from inserted
where userid not in (select userid from [user])
group by userid
end
这个运行的时候为什么提示:
服务器: 消息 213,级别 16,状态 4,过程 points,行 8
插入错误: 列名或所提供值的数目与表定义不匹配。是那里错了啊
---
insert [user] (columnlist)
---
insert [user] (columnlist)
on orders
for insert as
begin
update [user] set jifen=jifen+I.points
from [user] join (select userid, points=sum(points) from inserted group by userid) I on [user].userid=I.userid
insert [user] (userid,points)
select userid, points=sum(points) from inserted
where userid not in (select userid from [user])
group by userid
end
select userid, points=sum(points) from inserted
where userid not in (select userid from [user])
group by userid 问题在于Insert 的栏位数目跟 Select 的栏位数目不一样多
CREATE trigger points
on orders
for insert as
begin
update [user] set jifen=jifen+I.points
from [user] join (select userid, points=sum(points) from inserted group by userid) I on [user].userid=I.userid
insert [user] (userid, points)
select userid, points=sum(points) from inserted
where userid not in (select userid from [user])
group by userid
end
CREATE trigger points
on orders
for insert as
begin
update [user] set jifen=jifen+I.points
from [user] join (select userid, points=sum(points) from inserted group by userid) I on [user].userid=I.userid
--下面这句有问题,添加时,加上字段。如:
insert [user] (userid,points)
select userid, points=sum(points) from inserted
where userid not in (select userid from [user])
group by userid
end
on orders
for insert as
begin
update [user] set jifen=jifen+I.points
from [user] join (select userid, points=sum(points) from inserted group by userid) I on [user].userid=I.userid
insert [user] (userid, points)
select userid, points=sum(points) from inserted
where userid not in (select userid from [user])
group by userid
end
on orders
for insert as
begin
update [user] set jifen=jifen+I.points
from [user] join (select userid, points=sum(points) from inserted group by userid) I on [user].userid=I.userid
insert [user] (userid, points)
select userid, points=sum(points) from inserted
where userid not in (select userid from [user])
group by userid
end