【发布时间】:2019-04-29 10:20:47
【问题描述】:
我目前正在尝试有条件地打开游标,但编译器正在输出 PLS-00103:遇到符号“SELECT”。
CREATE OR REPLACE PROCEDURE proc_faturas_nao_liquidadas(data_inicio IN FATURA.data_emissao%TYPE,
data_fim IN FATURA.data_emissao%TYPE)
IS
curs_faturas SYS_REFCURSOR;
BEGIN
IF (data_inicio is null or data_fim is null)
then
open curs_faturas for (SELECT f.NR_FATURA, f.DATA_EMISSAO, f.VALOR_BASE_PAGAR
FROM FATURA f,
PAGAMENTO p
where p.NR_FATURA = f.NR_FATURA
and ESTADO != 'PAGO'
ORDER BY f.DATA_EMISSAO);
end if;
END;
最终目标是在循环上使用光标来打印行。我试过了,查询可以独立运行。
【问题讨论】:
-
@BarbarosÖzhan 这不是问题。 PAGO 不是列。这是一个字符串。问题实际上是程序或某些东西与查询发生冲突
-
ok formattin 更清楚了。
标签: sql oracle stored-procedures plsql