m_reaplicacao라는 매개 변수가있는 프로 시저를 만들려고합니다. 이 매개 변수는 '예'의 경우 'S', 아니오 인 경우 'N'및 모든 레코드의 'T'값을받습니다. 매개 변수가 예이면 값이 9 인 레코드를 반환해야합니다. 매개 변수가 아니요 인 경우 9와 다른 레코드를 반환해야합니다. 마지막으로 값이 모두이면 모든 레코드를 반환해야합니다. 탁자. 코드 울부 짖는 소리와 오라클은 말한다 : PL/SQL : ORA-00905 : 누락 된 키워드 라인 : 84 텍스트 : 절차에 대한 컴파일 오류가 오류 MYDB.CONTAS_A_PAGAR_SPS ta.id_1a_cbr = 9;
where 절 내의 case 사용
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'가 아닌 'END'를 사용하십시오. 그리고 당신은'm_reaplicacao ='를 사례 문장 밖으로 옮겨야 할 수도 있습니다. – Andrew
아, 그 말은 case 문 밖에서'ta.id_1a_cbr '로되어있다. – Andrew