BookmarkSubscribeRSS Feed

[SQL 8-2] SQL 옵션 (Using SQL Procedure Options)

Started ‎06-17-2020 by
Modified ‎06-17-2020 by
Views 268

[SQL 8-2] Using SQL Procedure Options

 

안녕하세요^^

​오늘은 SQL 포로시저 options을 사용하여 절차를 제어해보도록 하겠습니다.

PROC SQL 옵션은 아래의 특징을 제공하며 SQL 절차를 섬세하게 제어할 수 있도록 합니다.

​​- 코드를 실행하지 않고 syntax checking을 할 수 있습니다.

- ​가능한 값 모두에 대해 SQL 문장을 확장시킬 수 있습니다.

- ​Rows의 수를 제어할 수 있습니다.

- ​쿼리 조정을 통해 system utilization statistics를 제공할 수 있습니다.

 

 

SE22017012001203170.jpg

 

PROC SQL의 옵션은 위와 같은 코드로 간단히 작성할 수 있습니다.

첨부파일로 올려드리는 두 데이터(PAYROLLMASTER, STAFFMASTER)에서 jobcode를 ‘FA’로 갖고, EMPID가 같은 사람들에 대한 정보 중 10개만 결과로 보는 코드를 작성해보겠습니다.

SE22017012001211870.jpgSE22017012001212570.jpg

 

위의 코드 중 outobs=10 이라는 옵션을 통해결과로 나오는 테이블에 10개의 row가 작성된 것을 보실 수 있습니다.

 

 

즉, 위와 같이 rows의 수를 제어할 수 있는 옵션을 추가적으로 더 설명해보도록 하겠습니다.

​위에서 설명했듯이, OUTBOS=n은 쿼리의 결과에 rows의 수를 n개로 제어합니다.

INOBS=n은 각각의 source table의 rows의 수를 n개로 제어합니다.

​또한 NOEXEC는 쿼리를 실행하지 않고 모든 SQL 문장의 syntax를 체크합니다.

​또한, 결과를 제어하는 옵션은 아래와 같은 종류들이 있습니다.

 

option 효과
PRINT | NOPRINT Report로서 보여지는 SELECT 문장의 결과를 보일 것인지 보이지 않을 것인지 제어합니다
NONUMBER | NUMBER Row number가 쿼리 결과의 첫 번째 column으로 보일 것인지 보이지 않을 것인지 제어합니다
NOSTIMER | STIMER PROC SQL이 SAS log창에 resource utilization statistics를 작성할 것인지 작성하지 않을 것인 것 제어합니다
NODOUBLE | DOUBLE Report가 double-spaced일 것인지 아닌지 제어합니다. 이 옵션은 SAS LISTING 결과에서만 나타납니다
NOFLOW | FLOW | FLOW=n | FLOW=n <m> 문자형 column의 너비를 제어합니다이 옵션은 SAS LISTING 결과에서만 나타납니다

 

 

 

SE22017012001231370.jpg SE22017012001231970.jpg

 

위의 코드 중 inobs=10 이라는 옵션을 통해결과로 나오는 테이블은 payrollmaster 데이터의 조건에 맞는 상위 10개의 row가 작성된 것을 보실 수 있습니다.

 

 

 

​INOBS= 옵션은 FROM절에 테이블이 여러 개라면 각각의 테이블에 모두 적용됩니다.

RESET 문장에서 INOBS=MAX를 사용하여 프로시저를 다시 불러들이는 일 없이 모든 관측치를 읽을 수 있습니다.

이상으로 proc sql문장의 옵션에 대해 알아보았습니다.

 

Version history
Last update:
‎06-17-2020 12:52 AM
Updated by:
Contributors

sas-innovate-white.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.

 

Early bird rate extended! Save $200 when you sign up by March 31.

Register now!

Article Labels
Article Tags