안녕하세요.
http://www.gurubee.net/article/69134 이글을 참조하여 따라해보고 있습니다.
두가지 궁금한점이 있는데요. 첫번째는 위와 같은 방식으로 했을때 파일이 대용량일때 문제가 없는지 궁금합니다.......
그리고 테이블을 똑같이 만들고 MySql로 만들어보고 있는데요
아래의 쿼리 || '\'|| <--이 부분에서 에러가 나는것 같은데요....mysql은 아래 쿼리를 어떻게 수정해야 될까요?
WITH RECURSIVE cte_table(directory_id, directory_name, directory_id_ref, full_path) AS ( select directory_id, directory_name, directory_id_ref, directory_name as full_path from directory WHERE directory_id_ref is null union all select a.directory_id, a.directory_name, a.directory_id_ref, cast(b.full_path || '\'|| a.directory_name as varchar(100)) from directory a inner join cte_table b on (a.directory_id_ref = b.directory_id) ) select * from cte_table
Mysql 에서 CAST 함수로 변환할수 있는 타입은 아래라고 하네요 1. BINARY 2. CHAR 3. DATE 4. DATETIME 5. TIME 6. DECIMAL 7. JSON (MySQL 5.7.8부터 제공됨) 8. NCHAR 9. SIGNED [INTEGER] 10. UNSIGNED [INTEGER] 그리고 이미 VARCHAR타입인데 캐스팅을 굳이 할 이유가 있나요, 만약 한다고 하면 cast(CONCAT(b.full_path , '\\', a.directory_name ) as CHAR ) 또는 cast(CONCAT(b.full_path , CHAR(92), a.directory_name ) as CHAR ) 가 됩니다.