Subversion Repositories DevTools

Rev

Blame | Last modification | View Log | RSS feed

CREATE PROCEDURE "RELEASE_MANAGER"."SYNC_PROJECTS_NEW_VERSION" ( nPv_id                                 IN NUMBER,
                                                                                                                  sSyncRtagsInList              IN VARCHAR2,
                                                                          nUser_id                              IN NUMBER ) IS
/* ---------------------------------------------------------------------------
    Version: 3.0.0
   --------------------------------------------------------------------------- */

        CURSOR sync_rtags_cur IS
        SELECT rc.RTAG_ID, rc.BASE_VIEW_ID, pv.pv_id
                  FROM release_content rc,
                           package_versions pv,
                       package_versions opv
                 WHERE rc.pv_id = pv.pv_id
                   AND opv.pkg_id = pv.pkg_id
                   AND NVL(opv.v_ext, '|LINK_A_NULL|') = NVL(pv.v_ext, '|LINK_A_NULL|')
                   AND opv.pv_id = nPv_id
                   AND rtag_id IN ( SELECT *
                                                      FROM THE (
                                                                            SELECT CAST( IN_LIST_NUMBER( sSyncRtagsInList ) AS RELMGR_NUMBER_TAB_t )
                                                                    FROM dual
                                                                           )
                                                  );
    sync_rtags_rec sync_rtags_cur%ROWTYPE;

BEGIN

        OPEN sync_rtags_cur;
        FETCH sync_rtags_cur INTO sync_rtags_rec;

        WHILE sync_rtags_cur%FOUND
        LOOP
                DELETE FROM RELEASE_CONTENT
                 WHERE rtag_id = sync_rtags_rec.rtag_id
               AND pv_id = sync_rtags_rec.pv_id;

                INSERT INTO RELEASE_CONTENT ( RTAG_ID, PV_ID, BASE_VIEW_ID, INSERT_STAMP, INSERTOR_ID, PKG_STATE )
                           VALUES ( sync_rtags_rec.rtag_id,
                                        nPv_id,
                                                sync_rtags_rec.BASE_VIEW_ID,
                                        Ora_Sysdate,
                                        nUser_id,
                                                0
                                   );

--              UPDATE RELEASE_CONTENT
--             SET pv_id = nPv_id,
--                 insert_stamp = Ora_Sysdate,
--                 insertor_id = nUser_id
--           WHERE rtag_id = sync_rtags_rec.rtag_id
--             AND pv_id = sync_rtags_rec.pv_id;

                FETCH sync_rtags_cur INTO sync_rtags_rec;
        END LOOP;

        CLOSE sync_rtags_cur;

END Sync_Projects_New_Version;
/