강좌
클라우드/리눅스에 관한 강좌입니다.
데이터베이스 분류

테이블이름 변경과 View(with check opeion)와의 관계

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

테이블이름 변경과 View(with check opeion)와의 관계
SQL> select * from tab;
TNAME                          TABTYPE  CLUSTERID                                                                                       
------------------------------ ------- ----------                                                                                       
BANK_ACCOUNT                   TABLE                                                                                                    
EMPLOYEE                       TABLE                                                                                                    
TEST_RENAME                    TABLE                                                                                                    
SQL> rename test_rename to test;
테이블명이 바뀌었습니다.
SQL> desc test
 이름                            Null?    유형
 ------------------------------- -------- ----
 NAME                            NOT NULL VARCHAR2(20)
 AGE                                      NUMBER(2)
 SEX                                      NUMBER(1)
 MISC                                     VARCHAR2(20)
 IMSI                                     VARCHAR2(20)
SQL> select * from test;
NAME                        AGE        SEX MISC                 IMSI                                                                    
-------------------- ---------- ---------- -------------------- --------------------                                                    
강명규                       26          1                                                                                              
임꺽정                       30          1                                                                                              
홍길동                       25          1                                                                                              
김희선                       20          0                                                                                              
고소영                       25          0                                                                                              
이승연                       22          0                                                                                              
하수빈                       23          0                                                                                              
7 개의 행이 선택되었습니다.

SQL> create view v_test
  2  as
  3  select name, age, sex from test where age=26 with check option;
뷰가 생성되었습니다.
SQL> insert into v_test values('송혜교', 20, 0);
insert into v_test values('송혜교', 20, 0)
*
1행에 오류:
ORA-01402: 뷰의 WITH CHECK OPTION의 조건에 위배 됩니다 
SQL> insert into v_test values('차인표', 26, 1);
1 개의 행이 만들어졌습니다.
SQL> select * from v_test;
NAME                        AGE        SEX                                                                                              
-------------------- ---------- ----------                                                                                              
강명규                       26          1                                                                                              
차인표                       26          1                                                                                              

SQL> create or replace view v_test
  2  as
  3  select name, age, sex from test;
뷰가 생성되었습니다.
SQL> select * from test;
NAME                        AGE        SEX MISC                 IMSI                                                                    
-------------------- ---------- ---------- -------------------- --------------------                                                    
강명규                       26          1                                                                                              
임꺽정                       30          1                                                                                              
홍길동                       25          1                                                                                              
김희선                       20          0                                                                                              
고소영                       25          0                                                                                              
이승연                       22          0                                                                                              
하수빈                       23          0                                                                                              
차인표                       26          1                                                                                              
8 개의 행이 선택되었습니다.
SQL> create table test_copy
  2  as
  3  select name, age, sex from test;
테이블이 생성되었습니다.
SQL> drop table test;
테이블이 삭제되었습니다.
SQL> select * from v_test;
select * from v_test
              *
1행에 오류:
SQL> drop view v_test;
뷰가 삭제되었습니다.
 
SQL> rename test_copy to test;
테이블명이 바뀌었습니다.
SQL> create view v_test
  2  as
  3  select name, age, sex from test;
뷰가 생성되었습니다.
SQL> rename test to test_copy ;
테이블명이 바뀌었습니다.
SQL> select * from v_test;
select * from v_test
              *
1행에 오류:
SQL> rename test_copy to test;
테이블명이 바뀌었습니다.
SQL> select * from v_test;
NAME                        AGE        SEX                                                                                              
-------------------- ---------- ----------                                                                                              
강명규                       26          1                                                                                              
임꺽정                       30          1                                                                                              
홍길동                       25          1                                                                                              
김희선                       20          0                                                                                              
고소영                       25          0                                                                                              
이승연                       22          0                                                                                              
하수빈                       23          0                                                                                              
차인표                       26          1                                                                                              
8 개의 행이 선택되었습니다.
경   과: 00:00:00.08
SQL> spool offf

Copyleft(C) 명규의 오라클OCP All rights free

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,041 명
  • 현재 강좌수 :  35,855 개
  • 현재 접속자 :  115 명