db2 계층형 쿼리 create table 문의 0 4 3,327

by stevekim [SQL Query] [2019.06.12 12:48:52]


WITH      LVL1 AS 
(SELECT
            SEQ
          , LOW_PARTNO    AS LVL1_PARTNO
          , LOW_NIIN         AS LVL1_NIIN
          , LOW_KNM        AS LVL1_KNM
FROM
           DM_BOM_
WHERE     LVL = 1
)
CREATE    TABLE  BOM_MASTER AS (
SELECT      *  
FROM      LVL1
) ;

 

상기 계층형 with 쿼리에서 결과를 create table를 하고 싶은데 안되는군요. 가르켜주시면 감사하겠습니다.

물론, create table 대신에 select문은 잘 실행됩니다.  

by 마농 [2019.06.12 13:54:58]

"WITH() SELECT" 와 "CREATE AS SELECT" 를 결합하는 과정에서 WITH 문의 위치가 잘못된게 아닐까요?
- 오류 : WITH() CREATE AS SELECT
- 수정 : CREATE AS WITH() SELECT


by stevekim [2019.06.12 15:11:32]

CREATE    TABLE  BOM_MASTER AS (

WITH      LVL1 AS 
(SELECT
            SEQ
          , LOW_PARTNO    AS LVL1_PARTNO
          , LOW_NIIN         AS LVL1_NIIN
          , LOW_KNM        AS LVL1_KNM
FROM
           DM_BOM_
WHERE     LVL = 1
))
SELECT      *  
FROM      LVL1
 ;

 

--위 형식 말씀이신가요? 안되는군요. 할 수 없이 하나씩 테이블 만들어서 해야할듯 ^^ 좋은 댓글 주셔서 넘 감사드립니다.


by 마농 [2019.06.12 18:57:22]

원래 안되는 것일 수도 있지만... 괄호가 틀렸네요. 괄호 맞춰서 다시 해보세요.


by stevekim [2019.06.14 13:30:11]

 IBM RED Book에서 확인해보니 데이타 참조하는 예시 사례에는 오직 "create **** as (" 다음에오는 문장은 select 문 밖에 없더군요. 신경써 주셔서 감사합니다.

- create view는 "with절"이 되어서 이를 갖고 create table시켰습니다. 감사드립니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입