53 lines
1.2 KiB
SQL
53 lines
1.2 KiB
SQL
/**
|
|
* Drop all Java Items DO NOT RUN UNMODIFIED
|
|
*/
|
|
DECLARE
|
|
Cmd VARCHAR2(255); -- DROP JAVA command
|
|
|
|
CURSOR Cur_Java IS
|
|
SELECT *
|
|
FROM User_Objects
|
|
WHERE Object_Type LIKE 'JAVA%';
|
|
|
|
BEGIN
|
|
DBMS_OUTPUT.PUT_LINE('Deleting Java objects:');
|
|
FOR j IN Cur_Java LOOP
|
|
IF (j.Object_Type = 'JAVA RESOURCE') THEN
|
|
CMD := 'DROP JAVA RESOURCE "' || j.Object_Name || '"';
|
|
ELSIF (j.Object_Type = 'JAVA SOURCE') THEN
|
|
CMD := 'DROP JAVA SOURCE "' || j.Object_Name || '"';
|
|
ELSE
|
|
CMD := 'DROP JAVA CLASS "' || j.Object_Name || '"';
|
|
END IF;
|
|
-- DBMS_OUTPUT.PUT(CMD);
|
|
BEGIN
|
|
EXECUTE IMMEDIATE CMD;
|
|
-- DBMS_OUTPUT.PUT_LINE(' ** ok');
|
|
EXCEPTION
|
|
WHEN OTHERS THEN
|
|
DBMS_OUTPUT.PUT_LINE(' ** error **');
|
|
END;
|
|
END LOOP;
|
|
-- Delete remaining entries
|
|
-- DELETE JAVA$CLASS$MD5$Table;
|
|
COMMIT;
|
|
END;
|
|
/
|
|
/**
|
|
*
|
|
*/
|
|
DECLARE
|
|
CURSOR Cur_Invalids IS
|
|
SELECT Object_Name
|
|
FROM USER_Objects
|
|
WHERE Object_Type LIKE 'JAVA%' AND Status <> 'VALID'
|
|
ORDER BY 1;
|
|
ClassName VARCHAR2(256);
|
|
BEGIN
|
|
FOR i IN CUR_Invalids LOOP
|
|
ClassName := DBMS_JAVA.LONGNAME(i.Object_Name);
|
|
DBMS_OUTPUT.PUT_LINE(ClassName);
|
|
DBMS_JAVA.DROPJAVA(ClassName);
|
|
END LOOP;
|
|
END;
|