반응형
/********************************************************************************************
-- Title : [2k5] BEGIN TRAN문과 CTE
-- Key word : begin tran cte bom 세미콜론
********************************************************************************************/
-- 재귀적 CTE를 트랜잭션으로 묶어 테스트 하는데....
-- 에러가 자꾸 발생한다... 왤까??

BEGIN TRAN
WITH FolderTreeCte(fldr_id, hghr_fldr_id)
AS (SELECT fldr_id, hghr_fldr_id
    FROM sch_xmyfolder.pat_fldr
    WHERE membr_cd = 2
    AND fldr_id = 13
    UNION ALL
    SELECT a.fldr_id, a.hghr_fldr_id
    FROM sch_xmyfolder.pat_fldr a
    INNER JOIN FolderTreeCte c
    ON a.hghr_fldr_id = c.fldr_id
   )
SELECT fldr_id, hghr_fldr_id
FROM FolderTreeCte;
/*
메시지 102, 수준 15, 상태 1, 줄 5
'FolderTreeCte' 근처의 구문이 잘못되었습니다.

*/

-- WITH 구문 바로 위의 문장 종결자로 반드시 세미콜론(;)을 붙이지 않아서 발생하는 것이였다..ㅠㅠ
BEGIN TRAN;   /* <<-- WITH 구문 위의 문장에 ; 추가... */
WITH FolderTreeCte(fldr_id, hghr_fldr_id)
AS (SELECT fldr_id, hghr_fldr_id
    FROM sch_xmyfolder.pat_fldr
    WHERE membr_cd = 2
    AND fldr_id = 13
    UNION ALL
    SELECT a.fldr_id, a.hghr_fldr_id
    FROM sch_xmyfolder.pat_fldr a
    INNER JOIN FolderTreeCte c
    ON a.hghr_fldr_id = c.fldr_id
   )
SELECT fldr_id, hghr_fldr_id
FROM FolderTreeCte;
반응형

+ Recent posts