서브쿼리 update 실행 문의 0 1 1,326

by 네로 [SQL Query] [2016.10.11 19:53:01]


UPDATE T_ORGAN
SET
  FULL_ORG_NM = (select j_code2name('OF','100100000','') || ' '|| '테스트' from dual)
WHERE
  ORG_CD = '100101500';

첨부와 같이 실행하면 full_org_nm 에 '테스트' 데이터만 업데이트 됩니다.

select j_code2name('OF','100100000','') || ' '|| '테스트' from dual 서브 쿼리를 실행 시켜 보면

'XXXX XXXX 테스트' 라는 데이터가 출력 됩니다.

 

뭐가 문제일까요???

업데이트시  펑션을 사용하면 안되나요???

디비는 오라클 10g 입니다.

by 마농 [2016.10.12 08:13:46]

해당 펑션 안에 Exception 처리가 되어 있을 듯 하네요.
  - 에러발생시 Null 을 리턴하게 한 듯 합니다.
펑션만 단독실행시엔 에러 안나는데 Update 문에서는 에러나는 경우가 있습니다.
  - 이는 펑션 안에서 Update 대상 테이블을 사용하는 경우입니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입