기존 테이블에 새 열을 추가했습니다. 다른 테이블에서 검색 한 값으로 채 웁니다.오라클 : 다른 테이블의 값으로 열 업데이트
테이블 : EXPORT
Name | email | employeeid | userid
테이블 : USER
id | name | email | idnumber
새 열 내가 USER.id
에게 동일 할 EXPORT.userid
이다. id
과 idnumber
은 동일하지 않습니다. - idnumber
은 employeeid
을 저장하고 id
은 자동 증가 PK입니다. USER.idnumber
은 EXPORT.employeeid
과 같습니다.
export.employeeid = user.idnumber
일 때 EXPORT.userid
을 USER.id
으로 채우려합니다.
Oracle 호환 SQL 코드로 어떻게 할 수 있습니까?
다음을 시도했지만 오류가 발생합니다.
UPDATE EXPORT
SET userid = (SELECT id
FROM USER
WHERE USER.idnumber = EXPORT.employeeid
and USER.EMAIL = EXPORT.email)
WHERE EXISTS(SELECT 1
FROM USER
WHERE USER.idnumber = EXPORT.employeeid
and USER.EMAIL = EXPORT.email)
하지만
[Error] Execution (2: 19): ORA-01427: single-row subquery returns more than one row
예를 들어 해당 오류를 검색 할 수 있습니다. http://stackoverflow.com/search?q=single-row+subquery+returns+more+than+one+row –
@icefresh : idnumber가 사용자 테이블의 기본 키인지 확인하십시오. 다시 확인하십시오. –