DECLARE
vQty integer; cursor c is
select rowid, fpickarea, fbin, farticle from SJ_TBINARTICLES_20070106;BEGIN DELETE FROM SJ_TBINARTICLES_20070106;
COMMIT;
INSERT INTO SJ_TBINARTICLES_20070106(farticle, fpickarea, fbin)
select a.fgid farticle,
(select fpickarea from tpickschemedtl where fcode = '-' and farticle = a.fgid and FITEMNO = 1) fpickarea,
(select fpickbin from tpickschemedtl where fcode = '-' and farticle = a.fgid and FITEMNO = 1) fpickbin
from tarticle a; for r in c loop
select nvl(PWM_PUBFUNC.QtyToStr(SUM( TBINARTICLES.FQTY ), TBINARTICLES.FQPC ), 0) into vQty from tbinarticles where fbin = r.fbin and farticle = r.farticle;
update SJ_TBINARTICLES_20070106 set fqty = vQty where rowid = r.rowid;
end loop;
commit;
END;
解决方案 »
- 通过PL/SQL Developer中的ODBC Importer导数据时发生如下错误,各位高手帮忙看看什么原因?
- 求一个SQL语句(分组后求最大最小值的条数)
- create index 时说资源正在忙,指定 nowait 选项,怎么指定?
- 请教大家,那位有一句sql就能够解决的?
- Backup table以及权限,制约信息的确认!在线等……
- 权限?
- oracle 数据迁移的 sqlServer的问题
- 一个简单但我不能解决的问题,解决即结贴
- 初学Oracle,请教各位大虾。
- oracle问题
- 分组排序问题?
- 郁闷最近改进了一下藏拙分词,词库有400万词汇!5000字的文章完全切分居然需要 接近1秒钟的时间!
-----------------------------
除非对其进行group by,否则这里不能直接引用TBINARTICLES.FQPC。
------------------------------------------
是这句有语法错误,系统无法理解。
没有group by,就可能有多个不同的 FQPC,你让系统取哪个呢?或者简单点,改成下面这样也可以,不知道是否满足你的情况:select nvl(PWM_PUBFUNC.QtyToStr(SUM( TBINARTICLES.FQTY ), max(TBINARTICLES.FQPC) ), 0) into vQty from tbinarticles where fbin = r.fbin and farticle = r.farticle;