SQL 触发器 错误:向变量赋值的 SELECT 语句不能与数据检索操作结合使用

来源:百度知道 编辑:UC知道 时间:2024/06/18 14:09:26
向变量赋值的 SELECT 语句不能与数据检索操作结合使用。

declare @xh int---进项合同序号
declare @htje float---合同金额
DECLARE @fkje float---付款金额
declare @yfkje float--- 合同已付款

select @xh=gjhtmx_xh,jxfk_ysyf,@rq =jxfk_fkr,@yfkje=jxfk_htyfke,@htje=jxfk_htyfk,@fkje=jxfk_htmdsjfk from inserted

update gjhtmx set yfsfb_sfk=@yfkje+@fkje,yfsfb_yfye=@htje-@yfkje+@fkje where gjhtmx.gjhtmx_xh=@xh

错在哪里?
CREATE TRIGGER jxfk_trg
ON jxfk
FOR INSERT
AS
If UPDATE(jxfk_htmdsjfk)
BEGIN
declare @xh int---进项合同序号
declare @htje float---合同金额
DECLARE @fkje float---付款金额
declare @yfkje float--- 合同已付款

select @xh=gjhtmx_xh,jxfk_ysyf,@yfkje=jxfk_htyfke,@htje=jxfk_htyfk,@fkje=jxfk_htmdsjfk from inserted

update gjhtmx set yfsfb_sfk=@yfkje+@fkje,yfsfb_yfye=@htje-@yfkje+@fkje where gjhtmx_xh=@xh

END

错误:
服务器: 消息 141,级别 15,状态 1,过程 jxfk_trg,行 16
向变量赋值的 SELECT 语句不能与数据检索操作结合使用。<

你应该把题目写清楚呀!干吗用“,”为啥不改成“.”看了我半天。
首先第一个错误:你没有用触发器格式,你那个inserted要在触发器中才能用。找不到数据当然赋值失败!
你最好写全程序!不然没人能看懂!

错误信息是什么?