我需要检索游标内的 SELECT COUNT(*) 语句中的行数(在 Oracle 中)。
以下代码应该清楚地解释它:
PROCEDURE Save(CF_CURSOR OUT "VPA"."CF_#Runtime".CF_CURSOR_TYPE) AS
V_CF_CURSOR "VPA"."CF_#Runtime".CF_CURSOR_TYPE;
CF_ROWCOUNT NUMBER;
BEGIN
OPEN V_CF_CURSOR FOR
SELECT COUNT(*) INTO CF_ROWCOUNT FROM (
SELECT * FROM "VPA"."Employee" -- returns 1 row
) WHERE ROWNUM <= 1;
IF(CF_ROWCOUNT = 0) THEN
-- DO SOMETHING BUT NEVER GOES HERE
END IF;
COMMIT;
CF_CURSOR := V_CF_CURSOR;
END;
在这里,从未设置 CF_ROWCOUNT 的值。如果我删除光标,一切都会按预期工作。我曾尝试使用 SQL%ROWCOUNT,但它也不起作用。而且,我无法删除光标...
提前致谢!