SQLP
시험 직전 요약장
판단 기준과 헷갈리는 개념, 대표 예제를 짧게 확인하세요.
집합 기반 DML 선택: MERGE·조인 갱신·Multi-Table INSERT
원래 이론 →판단 기준
Oracle 21c 이후 Join View의 UPDATE는 모든 갱신 Column이 Key-Preserved Table에 속해야만 하는 것은 아닙니다. 다음 조건이 핵심입니다.
- 한 DML이 한 Base Table만 변경
- 같은 Base Row를 한 번만 변경하는 결정적인 Update
WITH CHECK OPTION등 View 제한을 위반하지 않음
즉 Key Preservation만 기계적으로 확인하는 것이 아니라 실제 Update의 결정성을 함께 확인해야 합니다.
헷갈리는 개념
- Join View
INSERT: 삽입 Column은 Key-Preserved Table에서 와야 하며WITH CHECK OPTIONView에는 제한이 있음 - Join View
UPDATE: 한 Base Table만 변경하고 각 Row를 한 번만 변경해야 함 - Join View
DELETE: Key-Preserved Table 구성에 따라 삭제 Base Table이 결정됨
실제 수정 가능 여부는 USER_UPDATABLE_COLUMNS에서 확인할 수 있습니다.
SQL좌우로 이동해 전체 내용을 확인하세요. 키보드: ←·→, Home·End
SELECT column_name, updatable, insertable, deletable
FROM user_updatable_columns
WHERE table_name = 'EMP_SALARY_VIEW';
대표 계산·예제
Key-Preserved Table은 Base Table의 Key가 Join 결과에서도 Key로 유지되는 Table입니다. 예를 들어 EMPLOYEE를 SALARY_GRADE.GRADE의 Unique Key와 조인하면 Employee 한 행이 Join 결과에 최대 한 번 나타날 수 있습니다.
내 최근 연습 오답
현재 브라우저의 연습 채점 기록에서 공개된 단원과 연결된 오답을 확인합니다.
오답 기록을 확인하고 있습니다.