After I sent message with subject "nested sets procedure" I realized 
what is wrong with it. If anybody needs this procedure, here it is :

CREATE DBPROC SP_INSERT_HIER_NODE (
IN NAME VARCHAR(16),
IN PARENT INTEGER
)

AS

VAR PARENT_LEFT INTEGER; PARENT_RIGHT INTEGER; 

SELECT
"LEFT", "RIGHT"
FROM
RBAC.HIERARCHY
WHERE
HIERARCHY.ID = :PARENT;
FETCH INTO :PARENT_LEFT, :PARENT_RIGHT;

UPDATE 
 RBAC.HIERARCHY
SET
     LEFT = LEFT + 2
WHERE
    RIGHT >= :PARENT_RIGHT
    AND
    LEFT > :PARENT_LEFT;
    
UPDATE 
 RBAC.HIERARCHY 
SET
     RIGHT = RIGHT + 2
WHERE
    RIGHT >= :PARENT_RIGHT;
    
    SET PARENT_LEFT = PARENT_RIGHT;
    SET PARENT_RIGHT = PARENT_RIGHT +1;

INSERT INTO
 RBAC.HIERARCHY(ID, NODE, LEFT, RIGHT )
VALUES
    (DEFAULT, :NAME, :PARENT_LEFT, :PARENT_RIGHT);

_______________________________________________
sapdb.general mailing list
[EMAIL PROTECTED]
http://listserv.sap.com/mailman/listinfo/sapdb.general

Reply via email to