在Sql Server trigger中使用if条件句总报错 10

useTPCHgocreatetriggerIN_SERTonLineitemafterinsertas源码如下,想要在Lineitem表格中增加一项订单明细时,自动修改... use TPCH
go
create trigger IN_SERT
on Lineitem
after insert
as
源码如下,想要在Lineitem表格中增加一项订单明细时,自动修改订单Orders的TotalPrice。

create trigger IN_SERT
on Lineitem
after insert
as
if (Orders.Orderkey = inserted.Orderkey )
begin
update Orders
set Orders.Totalprice = Orders.Totalprice
+ inserted.Extendeprice*(1-inserted.Discount) * (1+inserted.Tax)
- deleted.Extendedprice * (1-deleted.Discount) * (1+deleted.Tax)
select *
from Orders,inserted,deleted
end

else

begin
update Orders
set Orders.Totalprice = inserted.Extendeprice*(1-inserted.Discount) * (1+inserted.Tax)
select *
from Orders,inserted,deleted
end

然鹅总是报错
消息 4104,级别 16,状态 1,过程 IN_SERT,第 8 行
The multi-part identifier "Orders.Orderkey" could not be bound.
消息 4104,级别 16,状态 1,过程 IN_SERT,第 8 行
The multi-part identifier "inserted.Orderkey" could not be bound.
消息 4104,级别 16,状态 1,过程 IN_SERT,第 12 行
The multi-part identifier "inserted.Extendeprice" could not be bound.
消息 4104,级别 16,状态 1,过程 IN_SERT,第 12 行
The multi-part identifier "inserted.Discount" could not be bound.
消息 4104,级别 16,状态 1,过程 IN_SERT,第 12 行
The multi-part identifier "inserted.Tax" could not be bound.
消息 4104,级别 16,状态 1,过程 IN_SERT,第 13 行
The multi-part identifier "deleted.Extendedprice" could not be bound.
消息 4104,级别 16,状态 1,过程 IN_SERT,第 13 行
The multi-part identifier "deleted.Discount" could not be bound.
消息 4104,级别 16,状态 1,过程 IN_SERT,第 13 行
The multi-part identifier "deleted.Tax" could not be bound.
消息 4104,级别 16,状态 1,过程 IN_SERT,第 22 行
The multi-part identifier "inserted.Extendeprice" could not be bound.
消息 4104,级别 16,状态 1,过程 IN_SERT,第 22 行
The multi-part identifier "inserted.Discount" could not be bound.
消息 4104,级别 16,状态 1,过程 IN_SERT,第 22 行
The multi-part identifier "inserted.Tax" could not be bound.
展开
 我来答
li101chao
2018-06-17 · TA获得超过233个赞
知道小有建树答主
回答量:1044
采纳率:92%
帮助的人:656万
展开全部
看样子是mssql,我觉得你的as下第一行的if语句不太对啊,orders. orderkey = inserted. orderkey是什么意思,orders. orderkey应该是一个表的字段值,不得用select语句来判断吗?比如
If exists( select * from orders where orderkey = inserted. orderkey)
.....
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式