오라클에서 DB2로 스토어드 프로 시저 코드를 마이그레이션 중이므로 어레이 멤버십을 테스트하는 방법을 찾아야합니다 (Oracle에는 MEMBER OF
연산자가 있음).DB2 SQL PL의 어레이 멤버쉽 테스트하기
저장 프로시 저는 JDBC 코드를 통해 Java 코드의 매개 변수로받은 사용자 배열을 사용합니다. 해당 배열에서 구성원 테스트를 수행하는 가장 효율적인 방법을 찾고 싶습니다. 오라클 사용하여, 나는 할 것이다 : 나는 DB2에 MEMBER OF
의 동등한을 찾을 수없는 그러나
FOR r IN (SELECT * FROM acls WHERE acls.id = curid) LOOP
IF r.user MEMBER OF users THEN
RETURN 1;
END IF;
END LOOP;
이 : 또 다른 내부 루프을
- :
FOR r AS SELECT * FROM acls WHERE acls.id = curid DO IF r.user ????? users THEN RETURN 1; END IF; END FOR;
내가 두 가지 대안을 참조 모든 배열 요소는 "손으로"테스트를 수행합니다.
- 배열을 사용하지 않고 단일 문자열을 사용하고
LIKE
기반 패턴 일치를 사용하십시오.
더 좋은 방법이 있습니까? 이 배열은 외부 코드에서 가져온 것이므로 JOIN
또는 관련있는 테이블로 전달할 수 없습니다.
감사합니다, 나는 마법이 없다 생각 그 때 대답. –