这个存储过程怎么写?(50分)

  • 主题发起人 主题发起人 子龙
  • 开始时间 开始时间

子龙

Unregistered / Unconfirmed
GUEST, unregistred user!
INTERBASE 6库中两个表:
1. KMK:KMDM VARCHAR(18) KMMC VARCHAR(60) QCYE DOUBLE PRECISION
代码 名称 期初数
2. ZTPZK:YUFEN SMALLINT KMDM VARCHAR(18) JFJE DOUBLE PRECISION
DFJE DOUBLE PRECISION
现想从两表中取出数据,并根据QCYE+SUM(JFJE)-SUM(DFJE)=YE
(按KMDM合并)做个存储过程(即算指定YUFEN的余额)
格式:KMDM,KMMC,QCYE,JFJE,DFJE,YE
这个存储过程怎么写?
 
我已试了一下,只是YE还搞不定:
SET TERM !! ;
CREATE PROCEDURE PROC_HZB_YE (YUFEN SMALLINT)
RETURNS (KMDM VARCHAR(18), KMMC VARCHAR(60), YE DOUBLE PRECISION,
QCYE DOUBLE PRECISION, JFJE DOUBLE PRECISION, DFJE DOUBLE PRECISION)
AS
DECLARE VARIABLE T_ZZKM VARCHAR(18);
BEGIN
FOR SELECT ZZKM,SUM(JFJE),SUM(DFJE)
FROM ZTPZK
WHERE YUFEN <= :YUFEN
GROUP BY ZZKM
INTO :T_ZZKM, :JFJE,:DFJE
DO BEGIN
SELECT KMDM,KMMC,QCYE,QCYE + :JFJE - :DFJE
FROM KMK
WHERE KMDM = :T_ZZKM
INTO :KMDM, :KMMC, :QCYE, :YE;
SUSPEND;
END
END !!
SET TERM ; !!
 
把两个表的关系讲清楚点!
SUM(JFJE) 和 SUM(DFJE)
是按什么分组的

 
你写的我更看不懂了
ZZKM 是那个表的?如果实现以上功能
建立一个视图不是更简单吗?效率还高!
 
ZZKM是ZTPZK中的一个字段,如果用视图的话怎么搞?注意我还有一个参数YUFEN呢!
 
难道只能在程序中用计算字段不成?
:(
没高手吗?
 
是分太少呢还是没高手?
建议设立个INTERBASE分类[:(][h1][/h1]
 
接受答案了.
 
后退
顶部