如何动态删除Oracle中的package或procedure
create PACKAGE PKG_RS_SAMPLE_DROP AS
TYPE ROSSCURSOR IS REF CURSOR;
PROCEDURE PKG_RS_SAMPLE_DROP_RPOCEDURE
(
DBMS_OUTPUT.PRINT('yes');
);
END PKG_RS_SAMPLE_DROP;
declare package_count int;
begin
SELECT
count(OBJECT_NAME) into package_count
FROM
USER_PROCEDURES
WHERE
OBJECT_TYPE='PACKAGE' AND OBJECT_NAME='PKG_RS_SAMPLE_DROP';
if
package_count > 0
then
execute immediate 'drop package PKG_RS_SAMPLE_DROP';
end if;
end;
TYPE ROSSCURSOR IS REF CURSOR;
PROCEDURE PKG_RS_SAMPLE_DROP_RPOCEDURE
(
DBMS_OUTPUT.PRINT('yes');
);
END PKG_RS_SAMPLE_DROP;
declare package_count int;
begin
SELECT
count(OBJECT_NAME) into package_count
FROM
USER_PROCEDURES
WHERE
OBJECT_TYPE='PACKAGE' AND OBJECT_NAME='PKG_RS_SAMPLE_DROP';
if
package_count > 0
then
execute immediate 'drop package PKG_RS_SAMPLE_DROP';
end if;
end;