我正在尝试创建一个过程,其中有一个名为m_reaplicacao的参数。此参数接收值“S”表示是,“N”表示否,“T”表示所有记录。
当参数为Yes时,我应返回值等于9的记录。
当参数为No时,我应返回不等于9的记录。最后,当值为All时,我应返回表中的所有记录。
使用下面的代码,Oracle会显示:
MYDB.CONTAS_A_PAGAR_SPS过程编译错误
错误:PL/SQL:ORA-00905:缺少关键字
行:84
文本:ta.id_1a_cbr = 9;
select * from proposta ta
where
ta.estado = 'RJ'
and case
when m_reaplicacao = 'S' then
ta.id_1a_cbr = 9;
when m_reaplicacao = 'N' then
ta.id_1a_cbr <> 9
else null
end case;
我看了很多帖子,但是都没有解决我的问题。 请问有人可以帮我吗?
END
而不是END CASE
。你可能需要将m_reaplicacao =
移到 case 语句之外。 - Andrewta.id_1a_cbr
。 - Andrew