트리거를 작성하려고합니다.
조건문에
FOR EACH ROW
WHEN ( (SELECT F_GET_CENTER_CLASS_YN(NEW.LEC_CD) FROM DUAL) = 'Y' )
DECLARE
형식으로 평션을 이용하여 지금 입력되는 자료가 Y일 경우에만 인서트 되도록 하려고합니다.
지금 형태그대로 트리거입력하여 컴플릿트하면 에러가납니다
에러가 Subqueries cannot be used in this clause. 라고납니다.
트리거 조건문에 지금처럼 select 를 이용하면 안될까요?
알려주세요. ㅠㅠ 구글링해도 when 문에 select 이용한건 찾기가 어렵내요 ㅠㅠ
Select 를 빼세요. ->
- 변경전 : WHEN ( (SELECT F_GET_CENTER_CLASS_YN(NEW.LEC_CD) FROM DUAL) = 'Y' )
- 변경후 : WHEN ( F_GET_CENTER_CLASS_YN(NEW.LEC_CD) = 'Y' )
사용자 함수 사용이 안된다는 메시지네요.
WHEN 절이 아닌 BEGIN 안에서 IF 문으로 처리하세요.
빼고 했는대 이번엔 다른 에러가 납니다 ㅠㅠ
UDF cannot be used in this clause.
답변감사합니다, IF문에 써도 되는거였군요 ㅠㅠ 한참찾았는대 정말감사합니다.