by 쌈장묵자 [SQL Query] ora-01407 update [2016.01.11 15:48:53]
update account set code = (select code from codezip where corp_cd = '1212') , stat = ' 0' where no = '123123' and table_cd ='020'
이라는 코드가 있습니다 서버에서 구동시 ora-01407 에러가 발생하는데
검색결과 어디에 update해야 할지 명확하지 않아 기존의 값을 null로 처리해 이 에러가 발생한다고하는데
제가 update를 하고 싶은 테이블은 account라는 테이블입니다
exists를 이용해서 쿼리를 작성해야 한다고 하는데 어떻게 작성해야 할지 감이 안잡혀서;; 도와주세요
CODE 값은 필수 입력 항목이나 서브쿼리 결과에 NULL이 있어서 발생한 경우입니다.
위 구문이 실 사용하는 SQL이 아닐 것 같은데 맞나요?
실 사용하는 것이라면 서브쿼리 조건절이 대입이 아닌 아예 박혀 있어서 전체 결과가 NULL이라는 것이고 모두 NULL나오는 결과를 필수 입력 항목으로 되어 있는 CODE 항목 값으로 업데이트 한다는 말인뎅...
EXISTS 절이 아닌 MERGE 구문이 보다 명확 할 것 같습니다.
머지 구문으로 짜드리고 싶어도.. 서브쿼리가 독립적으로 돌고 있어서... ㅡ,.ㅡ;;
MERGE 관련 강좌 : http://www.gurubee.net/lecture/2225