过去几天我一直在做这个,我找不到出路。我有一个C Web应用程序需要在屏幕上打印报告。这个应用程序调用数据库(Oracle)上的存储过程,并返回一个光标。这是程序
PROCEDURE report_total(beginDate IN DATE, endDate IN DATE, c OUT REF CURSOR)
AS
BEGIN
OPEN
c
FOR
SELECT
month
,sum(field1)
-- + a lot of other fields
FROM
view1 v
WHERE
beginDate <= v.date
AND v.Date < endDate
GROUP BY
month
END;
这很好,它给了我每个月的field1(和其他)的总和。假设您至少输入一个完整的年份范围,最多可以得到12行。豪弗。我想创建一个类似的存储过程,它将给出这些月的详细信息。
假设begindate='2003-01-01'和enddate='2005-01-05'(yyyy-mm-dd),我需要25行。每月一次,每年一次。我想把光标拿出来得到这些结果。如果你有一个不涉及光标的最简单的想法,请建议我。