/* getChildNode */
SELECT A.c_id
, A.c_parentid
, A.c_position
, A.c_left
, A.c_right
, A.c_level
, A.c_title
, A.c_type
/* user filed add
point*/
, ( SELECT CASE
WHEN COUNT(*) > 0 THEN 'InChild'
ELSE
'NoChild'
END AS YesNo
/* inline table from filed add point*/
WHERE B.C_PARENTID = A.C_ID
) AS childcount
/* table from
filed add point*/
WHERE A.C_PARENTID = #c_id#
ORDER BY A.C_POSITION ASC
CREATE TABLE $c_title$(
C_ID NUMBER NOT NULL,
C_PARENTID NUMBER NOT NULL,
C_POSITION NUMBER NOT NULL,
C_LEFT NUMBER NOT NULL,
C_RIGHT NUMBER NOT NULL,
C_LEVEL NUMBER NOT NULL,
C_TITLE VARCHAR2(4000 BYTE),
C_TYPE VARCHAR2(4000 BYTE),
CONSTRAINT $c_title$_PK PRIMARY KEY (C_ID)
/*
* CONSTRAINT T_ARMS_REQADD_FK1 FOREIGN KEY (OTHER_ID) REFERENCES OTHER T_ARMS_REQADD(C_ID) ON DELETE CASCADE
*/)
Insert into $c_title$ (C_ID, C_PARENTID, C_POSITION, C_LEFT, C_RIGHT, C_LEVEL, C_TITLE, C_TYPE)
Values (1, 0, 0, 1, 8, 0, 'Root Node', 'root')
Insert into $c_title$ (C_ID, C_PARENTID, C_POSITION, C_LEFT, C_RIGHT, C_LEVEL, C_TITLE, C_TYPE)
Values (2, 1, 0, 2, 7, 1, 'First Child', 'drive')
Insert into $c_title$ (C_ID, C_PARENTID, C_POSITION, C_LEFT, C_RIGHT, C_LEVEL, C_TITLE, C_TYPE)
Values (3, 2, 0, 3, 4, 2, 'Leaf Node', 'default')
Insert into $c_title$ (C_ID, C_PARENTID, C_POSITION, C_LEFT, C_RIGHT, C_LEVEL, C_TITLE, C_TYPE)
Values (4, 2, 1, 5, 6, 2, 'Branch Node', 'folder')
/* alterNode */
UPDATE
T_COMPREHENSIVETREE_SPRING
SET C_TYPE = #c_type#
, C_TITLE = #c_title#
WHERE C_ID = #c_id#
/* removeNode */
DELETE
FROM T_COMPREHENSIVETREE_SPRING
WHERE C_LEFT >= #c_left#
AND C_RIGHT
<= #c_right#
/*
removedAfterLeftFix */
UPDATE T_COMPREHENSIVETREE_SPRING
SET C_LEFT =
C_LEFT - #spaceOfTargetNode#
WHERE C_LEFT > #c_right#
/*
removedAfterRightFix */
UPDATE T_COMPREHENSIVETREE_SPRING
SET C_RIGHT =
C_RIGHT - #spaceOfTargetNode#
WHERE C_RIGHT > #c_left#
/*
removedAfterPositionFix */
UPDATE T_COMPREHENSIVETREE_SPRING
SET
C_POSITION = C_POSITION - 1
WHERE C_PARENTID = #c_parentid#
AND
C_POSITION > #c_position#
/* cutMyselfPositionFix moveNode case. parameterClass is nodeById*/
UPDATE T_COMPREHENSIVETREE_SPRING
SET C_POSITION
= C_POSITION - 1
WHERE C_PARENTID = #c_parentid#
AND C_POSITION >
#c_position#
/* cutMyselfLeftFix moveNode case. parameterClass is nodeById*/
UPDATE T_COMPREHENSIVETREE_SPRING
SET C_LEFT = C_LEFT - #spaceOfTargetNode#
WHERE C_LEFT > #c_right#
/* cutMyselfRightFix moveNode case. parameterClass is nodeById*/
UPDATE T_COMPREHENSIVETREE_SPRING
SET C_RIGHT = C_RIGHT - #spaceOfTargetNode#
WHERE C_RIGHT > #c_left#
#c_idsByChildNodeFromNodeById[]#
/* stretchPositionForMyselfFromJstree */
UPDATE
T_COMPREHENSIVETREE_SPRING
SET C_POSITION = C_POSITION + 1
WHERE
C_PARENTID = #ref# AND C_POSITION >= #c_position#
AND C_ID NOT IN
(-1)
#c_idsByChildNodeFromNodeById[]#
/* stretchLeftForMyselfFromJstree */
UPDATE T_COMPREHENSIVETREE_SPRING
SET C_LEFT = C_LEFT + #spaceOfTargetNode#
WHERE C_LEFT >=
#rightPositionFromNodeByRef#
#c_idsByChildNodeFromNodeById[]#
/* stretchRightForMyselfFromJstree */
UPDATE T_COMPREHENSIVETREE_SPRING
SET C_RIGHT = C_RIGHT + #spaceOfTargetNode#
WHERE C_RIGHT >=
#rightPositionFromNodeByRef#
#c_idsByChildNodeFromNodeById[]#
/* pasteMyselfFromJstree */
INSERT INTO T_COMPREHENSIVETREE_SPRING (
C_ID, C_PARENTID, C_POSITION,
C_LEFT, C_RIGHT, C_LEVEL, C_TITLE, C_TYPE
)
SELECT S_COMPREHENSIVETREE_SPRING.NEXTVAL AS C_ID
, A.*
FROM (
SELECT
#ref# AS C_PARENTID
, C_POSITION
, C_LEFT - #idifLeft# AS C_LEFT
,
C_RIGHT -
#idifRight# AS C_RIGHT
, C_LEVEL - #ldif# AS C_LEVEL
, C_TITLE
, C_TYPE
FROM T_COMPREHENSIVETREE_SPRING
#c_idsByChildNodeFromNodeById[]#
ORDER BY C_LEVEL DESC
) A
/* pasteMyselfFromJstree SEQ */
SELECT S_COMPREHENSIVETREE_SPRING.CURRVAL AS SEQ
FROM DUAL
/*
enterMyselfFixPosition */
UPDATE T_COMPREHENSIVETREE_SPRING
SET
C_PARENTID = #ref#
, C_POSITION = #c_position#
WHERE C_ID = #c_id#
/* enterMyselfFixLeftRight */
UPDATE T_COMPREHENSIVETREE_SPRING
SET
C_LEFT = C_LEFT - (#idif#)
, C_RIGHT = C_RIGHT - (#idif#)
, C_LEVEL =
C_LEVEL - (#ldif#)
#c_idsByChildNodeFromNodeById[]#
/* addMyselfFromJstree */
INSERT INTO T_COMPREHENSIVETREE_SPRING (
C_ID, C_PARENTID, C_POSITION,
C_LEFT, C_RIGHT, C_LEVEL )
VALUES (
S_COMPREHENSIVETREE_SPRING.NEXTVAL, #c_parentid#, #c_position#,
#c_left#, #c_right#, #c_level# )
/* addMyselfFromJstree SEQ */
SELECT
S_COMPREHENSIVETREE_SPRING.CURRVAL AS SEQ
FROM DUAL
/* alterNodeType */
UPDATE T_COMPREHENSIVETREE_SPRING
SET C_TYPE = #c_type#
WHERE C_ID =
#c_id#
/* fixCopyIF */
UPDATE
T_COMPREHENSIVETREE_SPRING
SET C_POSITION = #fixCopyPosition#
WHERE C_ID
= #fixCopyId#
/* fixCopy */
UPDATE
T_COMPREHENSIVETREE_SPRING
SET C_PARENTID = #fixCopyId#
WHERE C_ID =
#c_id#
SELECT COUNT(*)
FROM
(
)
FROM T_COMPREHENSIVETREE_SPRING A
WHERE C_LEFT > #c_left#
AND C_RIGHT < #c_right#
AND C_LEVEL = #c_level#