하나의 컬럼이 널이 아닌 추가 조건을 사용하여 이벤트 테이블 (RDBMS)을 갱신하려고합니다. 테이블 이름은 MSISDNProfileDB이며 Oracle 데이터베이스에 있습니다.wso2로 널 (NULL) 값 처리 CEP
from incomingStream#window.length(1)
select correlation_MSISDN as MSISDN,
INTERACTION_DT as INTERACTION_DT
update MSISDNProfileDB
on MSISDNProfileDB.MSISDN == MSISDN
and not(MSISDNProfileDB.column1 is null);
코드 유효성을 검사하지만 INTERACTION_DT는 업데이트되지 않습니다. 테스트 목적으로 필자는 열이 null인지 확인하고 column1에서 수동으로 데이터를 제거했습니다.
from incomingStream#window.length(1)
select correlation_MSISDN as MSISDN,
INTERACTION_DT as INTERACTION_DT
update MSISDNProfileDB
on MSISDNProfileDB.MSISDN == MSISDN
and MSISDNProfileDB.column1 is null;
... 아직 작동하지 않습니다. 그러나 열 값을 1로 변경하면 다음과 같이됩니다.
작동합니다! 결론적으로 cep는 oracle db의 null 값에 문제가 있습니다. 누구든지 null 값을 처리하는 방법을 알고 있습니까?
친절 감사, 스테판
안녕하세요, 당신은 org.wso2.siddhi.core.exception.ExecutionPlanRuntimeException'와 유사한 예외를 받고있는 오류를 데이터베이스에서 이벤트를 업데이트, 당신은 당신의 SQL 구문에 오류가있는 반면, ... ', 이벤트를 보낼 때? – Grainier
안녕하세요 Granier,이 줄을 사용하여 업데이트하려고하면 MSISDNProfileDB.column1이 null입니다 ... 탄소 기록에 오류가 있습니다 : "원인 : java.sql.SQLSyntaxErrorException : ORA-00936 : 누락 된 표현" – StStojanovic