UPDATE XT_MEASUREFORECAST
SET FORECASTENERGY = decode(:new.day,1,:NEW.ENERGY1 ,2,:new.energy2,...)
WHERE MEASUREID=:NEW.OBJID;
SET FORECASTENERGY = decode(:new.day,1,:NEW.ENERGY1 ,2,:new.energy2,...)
WHERE MEASUREID=:NEW.OBJID;
解决方案 »
- PLJSON中文乱码有人遇到没?
- oracle数据库对第三方的开放接口
- 哪位大哥能写个SQL的筛选条件..条件见文章
- oracle中普通表空间最大能扩展为多少?BIGFILE最大能扩展为多少?
- 财务模拟预测 重现惊魂下一秒
- Windows XP + VMWare Server 1.0.6 + CentOS 5.2 + Oracle 10g Rac (10.2.0.1)安装文档 2
- 如何卸载ORACLE9I
- 第一次安装oracle,有点问题?
- 关于SQL*PLUS的错误
- 两台机子作快照,寻建立连接的语句。
- 求助高手:用vc连接oracle,使用的是ado ,如何能够实现自动判断与数据库是否连接正常,从而实现处理!
- 关于DEFINE_COLUMN的问题
不是这个意思,我的意思是
ENERGY+i+
就是这个字段是可变的,可以是ENERGY1,或者ENERGY2
而这个i的值就是:NEW.DAY
改怎么写
when (NEW.OBJTYPE=19)
BEGIN
UPDATE XT_MEASUREFORECAST
SET FORECASTENERGY = :NEW.ENERGY||:NEW.DAY WHERE MEASUREID=:NEW.OBJID;
END;after ..for each row不允许行级触发器,在插入一行后,对表进行操作
我照着你的写,可以PL/SQL报错:bad bind variable "NEW>ENERGY"
好像不行啊,帮忙再看看
when (NEW.OBJTYPE=19)
declare
e1 varchar2(10);
e2 varchar2(10);
begin
e1:=:new.day;
e2:='new.energy'||en;
UPDATE XT_MEASUREFORECAST
SET FORECASTENERGY = e2 WHERE MEASUREID=:NEW.OBJID;
end;
e2 varchar2(50);
when (NEW.OBJTYPE=19);
DECLARE STR VARCHAR2(1000);
BEGIN
STR:=' UPDATE XT_MEASUREFORECAST '||
' SET FORECASTENERGY = :NEW.ENERGY'||:NEW.DAY || ' WHERE MEASUREID=:NEW.OBJID';
EXECUTE IMMEDIATE (STR);
END;
-----------------------------------
UPDATE XT_MEASUREFORECAST
SET FORECASTENERGY = decode(:new.day,
1,:NEW.ENERGY1 ,
2,:new.energy2 ,...)
WHERE MEASUREID=:NEW.OBJID;或者写一大堆if - elsif 语句吧