| 221 |
vnguyen |
1 |
CREATE PROCEDURE "RELEASE_MANAGER"."NEW_PACKAGE_NAME" ( SSpkg_name IN PACKAGES.pkg_name%TYPE,
|
|
|
2 |
retPKG_ID OUT NUMBER ) IS
|
|
|
3 |
/* ---------------------------------------------------------------------------
|
|
|
4 |
Version: 3.0.0
|
|
|
5 |
--------------------------------------------------------------------------- */
|
|
|
6 |
|
|
|
7 |
CURSOR packages_cur IS
|
|
|
8 |
SELECT pkg.pkg_id
|
|
|
9 |
FROM packages pkg
|
|
|
10 |
WHERE pkg.pkg_name = SSpkg_name;
|
|
|
11 |
packages_rec packages_cur%ROWTYPE;
|
|
|
12 |
|
|
|
13 |
|
|
|
14 |
BEGIN
|
|
|
15 |
|
|
|
16 |
/* ---------------------------------------------------- */
|
|
|
17 |
/* Find if package name exists */
|
|
|
18 |
/* ---------------------------------------------------- */
|
|
|
19 |
|
|
|
20 |
OPEN packages_cur;
|
|
|
21 |
FETCH packages_cur INTO packages_rec;
|
|
|
22 |
|
|
|
23 |
IF packages_cur%NOTFOUND
|
|
|
24 |
THEN
|
|
|
25 |
-- Create new pkg_name --
|
|
|
26 |
SELECT SEQ_PKG_ID.nextval INTO retPKG_ID FROM DUAL;
|
|
|
27 |
|
|
|
28 |
INSERT INTO packages ( pkg_id, pkg_name )
|
|
|
29 |
VALUES ( retPKG_ID, SSpkg_name );
|
|
|
30 |
|
|
|
31 |
ELSE
|
|
|
32 |
retPKG_ID := packages_rec.pkg_id;
|
|
|
33 |
|
|
|
34 |
END IF;
|
|
|
35 |
|
|
|
36 |
|
|
|
37 |
CLOSE packages_cur;
|
|
|
38 |
|
|
|
39 |
END New_Package_Name;
|
|
|
40 |
/
|