메뉴 건너뛰기

SAP 한국 커뮤니티



SELECT구문 : FROM 2.table/view name

SAP폐인 2007.11.20 16:02 조회 수 : 4354


------- SELECT구문 ------



SELECT (1.FIELD NAME)  FROM (2.TABLE NAME)
                                      INTO (3.DATA OBJECT)
                                      WHERE (4.FIELD NAME) 비교연산자 (DATA OBJECT/VALUE)


 


우선 중요한 FROM구문의 2.TABLE NAME에 대해 생각해보자.


 


1) 여기서 TABLE이라고 적어놓았지만 주로 빈번하게 사용되는 것은 DB TABLE/VIEW이며, 가끔씩 INTERNAL TABLE과 FIELD도 사용되어질 수 있다.


 


   예문)


   DATA: WA_SCUSTOM TYPE SCUSTOM.


   SELECT * FROM SCUSTOM INTO WA_SCUSTOM.
     WRITE: / WA_SCUSTOM-ID, WA_SCUSTOM-NAME.
   ENDSELECT.


 


2) SELECT 해서 가져오고 싶은 TABLE이 하나라면 하나만 쓰면 되지만 몇개의 테이블을 조합해서 SELECT하여야 할 경우가


    대부분이기 때문에 FROM (TABLE NAME)에서는 JOIN 구문을 사용하기도 한다. (JOIN에 대해서는 다음에 생각해보자.)


 


3) 만약 FIELD를 사용하고자 한다면 그 필드에 대한 정의와 값을 SELECT 구문 전에 넣어야 하며 FIELD앞뒤로 ()를 넣어야 한다.


    그리고 FIELD와 () 사이에는 빈 공간이 없어야 한다.


 


   예문)


   DATA  tabname(10).
   DATA: BEGIN OF wa,
                 id      TYPE scustom-id,
                 name TYPE scustom-name, 
             END OF wa.


   tabname = 'SCUSTOM'.
   SELECT id name INTO CORRESPONDING FIELDS OF wa FROM (tabname).


 


4) FROM TABLE NAME 뒤에 따라오는 옵션에는 어떤 것들이 있는지 알아보자.  


 


1. ... CLIENT SPECIFIED : Client dependent 하는 테이블의 값만 가지고 올 수 있도록 해준다.

   예문)


    SELECT * FROM SCUSTOM CLIENT SPECIFIED


                   INTO WA_SCUSTOM
                   WHERE MANDT = '003'.


 


2. ... BYPASSING BUFFER : SAP Buffer를 거치지 않고 DB에서 바로 값을 읽어 온다.


   예문)


     SELECT * FROM SPPROD


                    INTO WA_SPPROD BYPASSING BUFFER
                    WHERE PRODUCER = 'BOE'.


 


 


3. ... UP TO n ROWS : n열만큼의 데이터만 출력하도록 만들어 준다. sort option을 사용하면 n열만큼의 데이터를 select 한 다음에 sort하게 된다. 만약 n = 0 이면 모든 데이터를 출력하며, n < 0 이면 에러가 난다.


    예문)


      SELECT * FROM SCUSTOM


                     INTO WA_SCUSTOM UP TO 3 ROWS


                     WHERE CUSTTYPE = 'B'


 


 4. ... CONNECTION con : R/3 DB와는 다른 DB에서 OPEN SQL을 실행하기 위해서 connect구문을 사용한다. 여기서 con이라는 것은 DB connection의 이름으로써 Table : DBCON-CON_NAME 이다. (아직 이해가 잘 안됨)


  


중요한 것은 FROM 다음에는 DB TABLE/VIEW을 주로 사용한다는 것을 기억하는 것이다.