PROC SQL (8) -- 보기

3341 단어 procsql
보기
1. 기능
보 기 는 일련의 검색 어 입 니 다. 사용 할 때 실 행 됩 니 다. 다른 데이터 세트 나 보기에 서 원 하 는 부분 집합 (subset) 이나 초 집합 (superset) 을 가 져 옵 니 다.
데이터 자 체 를 포함 하지 않 고 데이터 에 접근 하 는 논리 만 포함 합 니 다.
2. 장점
1. 데이터 세트 보다 공간 절약
2. 중복 되 는 검색 어 감소
3. 사용자 가 복잡 한 조회 관 계 를 숨 기 고 싶 습 니 다.
4. 최신 데 이 터 를 동적 으로 가 져 옵 니 다.
3. 주의
1. 보기 정의 에서 ORDER BY 자 구 를 사용 하지 않도록 하고 보 기 를 참조 하 는 조회 에서 ORDER BY 자 구 를 지정 하 는 것 이 효과 적 입 니 다.
2. 같은 data 를 여러 번 사용 하려 면 보 기 를 만 들 지 않 고 정적 표를 만 드 는 것 이 좋 습 니 다.
3. 구조 에 따라 변 경 될 수 있 는 표를 만 드 는 보 기 를 피한다.보기 에서 인용 한 열 이 존재 하지 않 을 때 보기 의 열 도 유효 하지 않 습 니 다.
2. 보기 만 들 기
CREATE VIEW 문장
1. 문법:
CREATE VIEW proc-sql-view AS 
    SELECT column-1 
        FROM table-1 | view-1 ... table-n | view-n> 
        ;

2. 주의:
1. 코드 를 제출 할 때 sas 는 selection 문 구 를 실행 하지 않 고 SELECT 문 구 를 컴 파일 하여 보기 파일 에 저장 합 니 다.
2. SAS 로그 의 메시지 가 보 기 를 정의 한 것 을 확인 합 니 다.             NOTE: SQL view CERTADV.FAVIEW has been defined.
3. 보기 설명
DESCRIBE VIEW 문장
1. 문법:
DESCRIBE VIEW proc-sql-view-1;

2. 주의:
1. SAS 로그 에 보기 의 정 의 를 표시 할 수 있 습 니 다.
2. 보기 가 다른 보 기 를 기반 으로 한다 면 PROC SQL 구문 에서 FEEDBACK 옵션 을 사용 해 야 합 니 다.
4. 관리 보기
1. 라 이브 러 리 이름 생략:
DESCRIBE VIEW 뒤의 보기 가 라 이브 러 리 이름 을 지정 하면 from 뒤의 라 이브 러 리 이름 이 지정 되 지 않 으 면 기본적으로 sasuser 에 있 습 니 다.
proc sql; 
	create view sasuser.payrollv as 
		select * 
			from payrollmaster; 
quit;

2. 사용 문구:
  • 문법:
  • USING libname-clause-1;
  • 주의: 1. PROC SQL 보기 와 함께 만 사용 할 수 있 습 니 다.2. using 구문 이 만 든 라 이브 러 리 이름 은 SAS 세 션 의 라 이브 러 리 이름과 충돌 하지 않 고 부분 구문 으로 이해 할 수 있 습 니 다.3. 보기 와 기본 표 가 같은 라 이브 러 리 에 있 든 없 든 사용 할 수 있 습 니 다. 4. USING 자 구 는 반드시 CREATE VIEW 문장의 마지막 자구
  • 여야 합 니 다.
  • 예 를 들 면:
    proc sql; 
    	create view certadv.payrollv as 
    		select* 
    			from airline.payrollmaster 
    			using libname airline 'SAS-library-one'; 
    quit; 	
    proc print data=certadv.payrollv; 
    run;
     

  • 5. 보기 업데이트.
    1. 기능:
    보 기 를 업데이트 하면 보기 의 저장 명령 을 변경 하지 않 습 니 다.기본 표 의 데이터 만 업데이트 합 니 다.
    2. 주의:
    지 정 된 조건 에서 만 보 기 를 INSERT, UPDATE, DELETE 작업 할 수 있 습 니 다.
    1. 보 기 를 통 해 하나의 표를 업데이트 할 수 있 습 니 다. 이 표 는 다른 표 에 연결 하거나 연결 할 수 없고 하위 조회 도 포함 할 수 없습니다.
    2. 파생 열 을 업데이트 할 수 없습니다 (표현 식 생 성 열)
    3. 다른 자구 (예 를 들 어 ORDER BY 또는 HAVING 자구) 를 포함 하 는 보 기 를 업데이트 할 수 없습니다.
    4 、 GROUP BY 자 구 를 포함 하 는 보 기 를 업데이트 할 수 없습니다
    3. 예 를 들 면:
    1. MonthlySalary 는 파생 열 로 UPDATE 문 구 를 사용 하여 변경 할 수 없 지만 샐 러 리 에서 파생 되 기 때문에 업 데 이 트 됩 니 다.
    2. PROC SQL 절 차 를 제출 할 때 SAS 로그 에 몇 줄 이 업데이트 되 었 는 지 설명 합 니 다.             NOTE: 2 rows were updated in CERTADV.RAISEV.
    /*    */
    proc sql; 
    	create view certadv.raisev as 
    		select empid, jobcode, salary format=dollar12., 
    		          salary/12 as MonthlySalary format=dollar12. 
    			from certadv.payrollmaster; 
    quit; 
    proc sql; 
    	select * 
    		from certadv.raisev 
    		where jobcode in ('PT2','PT3'); 
    quit;
    
    /*    */
    proc sql; 
    	update certadv.raisev 
    		set salary=salary * 1.20 
    		where jobcode='PT3'; 
    quit;
    

    6. 보기 삭제
    DROP VIEW 구문
    1. 문법:
    DROP VIEW view-name-1 ;

    2. 주의:
    이 절 차 를 제출 하면 SAS 로그 에 메시지 가 나타 나 보기 가 삭제 되 었 는 지 확인 합 니 다.

    좋은 웹페이지 즐겨찾기