触发器问题,急呀。高手们帮帮我吧。分不够再加 help help helpwaiting ... ...waiting ... ...waiting ... ...help help help 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用 View, 不要用 Trigger create triger tg_A on Ainstead of insertasinsert A (f1,f2) select a.f1*(select top 1 f1val from B where B.f1=a.f1) as f1, a.f2*(select top 1 f2val from B where B.f2=a.f2) as f2 from inserted a 可以实现的。而且不用view也不用trigger.在设计(右键点击表,选设计表)f3时,用公式计算。如果f1val 和f2val 可定下,那就在f3的公式处直接写就好了,如果不行,只好将f1和f2作为参数传给一个函数,然后由那个函数返回一个值给f3就行了。当然只在sql server2000里可以用自定义函数了。 以下没有经过验证:在trigger中(1)declare 一个变量a;用来存f1*f1val+f2*f2val;(2)if not COLUMNS_UPDATED(f3) then/*如果插入了f3,就不执行*/ begin a:=inserted.f1*faval+inserted.f2*f2val; /*可能要通过select 语句来取出inserted.f1,inserted.f2,inserted 表示刚插入的记录*/ update f3=3 where f1=inserted.f1;(如果f1是关键字的话;用insert也行) end; 补充:f1val,f2val的值可以在trigger中用select得到; CREATE VIEW TT(F1,F2,F3) ASSELECT F1,F2,(SELECT SUM(FTYPE*FVAL) FROM A) FROM A; sql多表查询,统计 存储过程的问题帮忙解决一下 这是一个动态提交的语句 刚刚结贴太快了,还有点问题 求一个SQL语句 SQL 2008 安装问题 SQL 2005 bcp奇怪问题 怎样用记事本写批处理文件?? 多用戶操作系統的數據處理方法?急!在線等待! m_Recordset->GetRecordCount();在SQL SERVER中总是返回 -1 值。为什么? 经验丰富的DBA看过来,ORACLE ENTERPRISE MANAGER无法登陆 向高手请教一句SQL语句!!! 如何用SQl语法将一个.txt文件导入Sql server中?
instead of insert
as
insert A (f1,f2)
select a.f1*(select top 1 f1val from B where B.f1=a.f1) as f1,
a.f2*(select top 1 f2val from B where B.f2=a.f2) as f2
from inserted a
在设计(右键点击表,选设计表)f3时,用公式计算。
如果f1val 和f2val 可定下,那就在f3的公式处直接写就好了,如果不行,只好将f1和f2作为参数传给一个函数,然后由那个函数返回一个值给f3就行了。
当然只在sql server2000里可以用自定义函数了。
在trigger中
(1)declare 一个变量a;用来存f1*f1val+f2*f2val;
(2)if not COLUMNS_UPDATED(f3) then/*如果插入了f3,就不执行*/
begin
a:=inserted.f1*faval+inserted.f2*f2val;
/*可能要通过select 语句来取出inserted.f1,inserted.f2,inserted 表示刚插入的记录*/
update f3=3 where f1=inserted.f1;(如果f1是关键字的话;用insert也行)
end;
SELECT F1,F2,(SELECT SUM(FTYPE*FVAL) FROM A) FROM A;