view.sql 906 B

12345678910111213141516171819202122232425262728
  1. -- 创建视图
  2. DROP VIEW IF EXISTS V_DOC_DIR;
  3. CREATE VIEW V_DOC_DIR AS
  4. SELECT DIR_ID,
  5. SPACE_ID,
  6. DIR_TYPE,
  7. DIR_ROLE,
  8. DIR_NAME,
  9. PARENT_ID,
  10. IS_ENCRYPT,
  11. ENCRYPT_LEVEL,
  12. ACCESS_CODE,
  13. CREATE_BY,
  14. CREATE_TIME,
  15. UPDATE_BY,
  16. UPDATE_TIME,
  17. REMARK,
  18. (WITH RECURSIVE VDIR AS (SELECT DIR_ID, DIR_NAME, PARENT_ID, CAST(DIR_NAME AS CHAR(4000)) AS DPATH
  19. FROM DOC_DIR
  20. WHERE DIR_ID = A.DIR_ID
  21. UNION ALL
  22. SELECT C.DIR_ID, C.DIR_NAME, C.PARENT_ID, CONCAT(C.DIR_NAME, '/', P.DPATH)ATH
  23. FROM DOC_DIR C
  24. JOIN VDIR P ON C.DIR_ID = P.PARENT_ID)
  25. SELECT DPATH
  26. FROM VDIR
  27. WHERE PARENT_ID = 0) AS DIR_PATH
  28. FROM DOC_DIR A