>source

이런 절차가 있습니다.

PROCEDURE FUNC(A VARCHAR2, B VARCHAR2, C VARCHAR2, CUR OUT)IS
BEGIN
STR_1:='OPEN CUR FOR SELECT X, Y, Z FROM TABLE_T WHERE';
STR_2:='TABLE_T.A='||A;
STR_3:='TABLE_T.B='||B||' AND TABLE_T.C='||'C';
IF(A IS NOT NULL) THEN
   STR_4=STR_1||STR_2;
ELSE
   STR_4=STR_1||STR_3;
END IF;
EXECUTE IMMEDIATE STR_4;
END FUNC;

이것은 정확한 절차가 아니라 동일한 절차의 간단한 예입니다. 이 프로시저를 실행하면 IF와 ELSE 조건을 모두 만족하는 결과를 얻습니다....하지만 IF 또는 ELSE 문을 실행하고 싶습니다.

어디에 오류가 있나요??

원하지 않는 동작을 생성하는 매개변수 값의 예를 제공할 수 있습니까?

The Impaler2022-02-14 13:24:12

null이 아닌 모든 매개변수에 대한 @TheImpaler. 나는 A가 일치하고 B와 C가 일치할 수 있거나 일치하지 않을 수 있는 결과를 얻고 있습니다. 또한 A는 일치할 수 있거나 일치하지 않을 수 있지만 B와 C는 일치합니다... 이 경우 A는 null이 아니므로 행을 가져와야 합니다. A는 일치하고 B와 C는 일치하거나 일치하지 않을 수 있습니다.

Hamsa2022-02-14 13:37:01
  • 이전 python : 부분 문자열의 시작과 끝의 정규식 추출
  • 다음 hosting : 서버 IP 주소를 호스팅 이름으로 연결하는 방법