11-6. DML 작업 거부 > 학습자료 | IOTsw_u2 U2 Project
학습자료

SQL 11-6. DML 작업 거부

본문

 

① WITH READ ONLY -- MSSQL에서는 지원되지 않는 기능

․ 뷰 정의에 WITH READ ONLY 옵션을 추가하면 DML작업을 거부할 수 있다.

․ 뷰를 통해 행에 DML작업을 수행하면 SQL server 오류가 발생한다.

예제)

오라클 디비 예제 : CREATE OR REPLACE VIEW empvu10

(employee_number, employee_name, job_title)

AS SELECT employee_id, last_name, job_id

FROM employees

WHERE department_id = 10

WITH READ ONLY;

View created.

☞설명) DML 작업 거부

예제는 뷰를 통해 DML작업이 수행되지 않도록 EMPVU10 뷰를 수정합니다.

읽기 전용 제약 조건이 있는 뷰에서 행을 제거하려고 하면 오류가 발생합니다.

DELETE FROM empvu10

WHERE employee_number = 200;

DELETE FROM empvu10

MSSQL 디비 예제 :

select a.lname, a.job_lvl, a.pub_id, b.maxsal

FROM employee a, (SELECT pub_id, MAX(job_lvl) maxsal

FROM employee

GROUP BY pub_id) b

WHERE a.pub_id=b.pub_id

AND a.job_lvl < maxsal

*

ERROR at line 1 :

ORA-01752 : cannot delete from view without exactly one key-preserved table

읽기 전용 제약 조건이 있는 뷰를 사용하여 행을 삽입하거나 수정하려고 하면 다음 Oracle server 오류가 발생한다.

01733 : virtual column not allowed here. 

댓글목록

11. 뷰란
이어쓰기 1.A 11-1. 뷰에서 데이터 검색
이어쓰기 2.B 11-2. 뷰 수정
이어쓰기 3.C 11-3. 복합뷰 생성
이어쓰기 4.D 11-4. 뷰를 통한 DML 작업 수행에 관한 규칙
이어쓰기 5.E 11-5. WITH CHECK OPTION 절 사용
이어쓰기 6.F 11-6. DML 작업 거부
이어쓰기 7.G 11-7. 뷰 제거
이어쓰기 8.H 11-8. 인라인 뷰
이어쓰기 9.I 11-10. "Top-N"분석
이 원글에 이어쓰기

학습자료 목록

Total 91건 1 페이지
게시물 검색

IOTsw_u2 정보

회사 . U2
주소 . 어느별 하늘 아래에 있것지요
사업자 등록번호 . 백수임 대표 . 김씨 전화 . 02-123-4567 팩스 . 팩스없음
통신판매업신고번호 . 낼할께 개인정보관리책임자 . 김씨가 알아서 함 부가통신사업신고번호 신고안함
Copyright © 2001-2013 U2. All Rights Reserved.
닫기