반응형
ORA-01732의 경우 뷰를 INSERT, UPDATE, DELETE 하는 경우 발생할 수 있습니다.
예시 SQL
UPDATE V_USER_INFO
SET PWD = '1111'
WHERE USER_ID = 'A'
아마 해당 에러가 발생하신 분들은 이와 같은 뷰에 대해 직접 수정을 하려고 하고 있을 것입니다.
일반적인 뷰의 경우에는 문제없이 수행되지만 뷰가 UNION, GROUP BY 등으로 선언된 경우는 ORA-01732가 발생합니다.
해결 방법
이런 경우 뷰를 직접 수정하면 안 되고 뷰 내부의 테이블에 직접 수정해야 합니다.
Description을 통해 뷰를 열어봅시다. (오렌지의 경우 F4)
CREATE VIEW V_USER_INFO ( USER_ID, PWD )
AS
SELECT USER_ID
, PWD
FROM USER_TABLE
UNION
SELECT USER_ID
, PWD
FROM USER_2
위 처럼 USER_TABLE과 USER_2를 합쳐서 VIEW를 만들고 있습니다.
원하는 정보가 조회되는 테이블을 찾아 UPDATE 해주면 됩니다.
그리드형
'IT > DB' 카테고리의 다른 글
[Oracle] 오라클 더 크고, 작은 값 비교와 주의할 점 GREATEST, LEAST(최대/최소값) (0) | 2022.01.18 |
---|---|
[Oracle] 오라클 시퀀스(Sequence) 생성/수정/삭제/currval/nextval (0) | 2021.12.30 |
[ORACLE] 널(NULL)에 대한 IN과 NOT IN (0) | 2021.11.27 |
[ORACLE] NULL 값 정렬 (ORDER BY NULLS FIRST OR LAST) (0) | 2021.11.24 |
[ORACLE] DB Tool 한글 깨짐 현상 해결 방법(오렌지, Toad 등) (0) | 2021.11.24 |
댓글