如何在Oracle 11g中编写存储过程

时间:2016-04-28 13:04:44

标签: stored-procedures oracle11g

我已经通过sql developer在oracle 11g中尝试了简单的存储过程:

CREATE PROCEDURE P1 AS 
BEGIN
DBMS.OUTPUT.PUT.LINE('WELCOME TO ORACLE');
END P1;

但我仍然遇到以下错误: ORA-00955:名称已被现有对象使用

我没有准确地解决这个错误。谁能请帮帮我..?

2 个答案:

答案 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;
/