我尝试创建包:
CREATE OR REPLACE PACKAGE CARS AS
TYPE REFCURSOR IS REF CURSOR;
TYPE car_arr IS TABLE OF my_cars%ROWTYPE;
PROCEDURE getAllCars(cars OUT REFCURSOR);
FUNCTION getCarById(id IN VARCHAR2) RETURN REFCURSOR;
END CARS;
我得到:错误:ORA-00955:现有对象已使用名称。
如何解决?
答案 0 :(得分:2)
对象名称在架构中是唯一的。如果我们有(比方说)一个名为"CARS"
的表,我们也不能拥有一个名为"CARS"
的包。
错误:ORA-00955:现有对象已使用名称。
很明显,您已经创建了一个名为"CARS"
的对象。如果您忘记了该对象是什么,请运行
select * from user_objects
where object_name = 'CARS';
object_type
列会告诉您该名称已包含的对象类型。你有三个选择:
第一个选项似乎更容易,但YMMV。