我已经通过sql developer在oracle 11g中尝试了简单的存储过程:
CREATE PROCEDURE P1 AS
BEGIN
DBMS.OUTPUT.PUT.LINE('WELCOME TO ORACLE');
END P1;
但我仍然遇到以下错误: ORA-00955:名称已被现有对象使用
我没有准确地解决这个错误。谁能请帮帮我..?
答案 0 :(得分:1)
错误说明了一切。您已经有一个名为P1的存储过程,因此要么删除现有的存储过程,要么为此过程指定一个不同的名称。要检查该过程是否已存在,请使用以下查询:
Attempt to present <UIAlertController: 0x7f8c805e8e80> on <Swaft_Login_Demo.ViewControllerForLogin: 0x7f8c8042d4b0> whose view is not in the window hierarchy!
或
SELECT *
FROM USER_PROCEDURES
WHERE object_name = 'P1'
答案 1 :(得分:1)
有两个问题:
首先,您可能已经保存了一次存储过程。所以你不能创建它,但必须替换它。其次,写入输出的过程名称拼写错误。
所以试试这段代码:
CREATE OR REPLACE PROCEDURE P1 AS
BEGIN
DBMS_OUTPUT.PUT_LINE('WELCOME TO ORACLE');
END P1;
/