新人求助:SQL server 2008中用触发器创建复杂的公式(参数引用其它表中数据),出问题,求指点

aaaa1185164 aaaa1185164 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
[size=18px][b]有两个表,一个是JGDCB,一个是二元形高参数表;表JGDCB中存储:每公顷断面积、胸径、树高、树种、蓄积量;二元形高参数表中存储:树种,a,b,c(abc为不同树种的参数值);
现在创建了一个触发器,希望输入每公顷断面积、胸径、树高和树种后,自动计算得到蓄积量,公式如下
每公顷蓄积=每公顷断面积*a*树高的b次方/胸径的c 次方
a,b,c 存储在二元形高参数表里,,,根据树种不同,a,b,c参数取值不同,
创建的触发器如下
触发器如下
create trigger JGB_tri
on JGDCB
for insert
as
begin transaction
update JGDCB
set 每公顷蓄积 = 每公顷断面积*(selecta from 二元形高参数表)*power(树高,(select b from 二元形高参数表))/power(胸径,(select c from 二元形高参数表))
where EXISTS ( select a,b,c from 二元形高参数表 where JGDCB.树种 = 二元形高参数表.树种名称)
commit transaction
可以保存,但是在运行输入的时候,出现错误查询返回的值不止一个当子查询跟随在 =、!=、<、<=、>、>= 之后,或子查询用作表达式时,这种情况是不允许的。

初学者,现学现卖,遇到问题很多,,求教大神,使用触发器是否是实现此计算功能较好的方法?还有啥方法?我做触发器问题出在哪?
新人分数不多,还请各位大神不吝赐教,,,,,拜谢
...全文

相关推荐

评论 14
收藏 已收藏
分享
返回顶部
aaaa1185164
疑难问题 22,298 成员 121,727 内容