建立oracle過程時提示名稱已由現有物件使用

時間 2021-12-23 08:14:26

1樓:賓士

【ora-00955: 名稱已由現有物件使用】這個錯誤說的不僅僅是有可能你有儲存過程使用了【student2】,還有可能是你有表名叫【student2】或者其他oracle物件叫【student2】。

說明:其實由於你已經使用了【create or repalace procedure】即使有儲存過程叫【student2】也會被覆蓋掉,你用下面的命令查詢一下,有什麼物件叫【student2】,刪掉它或者換一個儲存過程名字。

【select object_name,object_type from user_objects where object_name='student2';】

---以上,希望對你有所幫助。

2樓:匿名使用者

這種情況是因為資料庫中已經存在同名的儲存過程或者其他物件(object)等造成。

解決方法:

1、確定原有名稱的儲存過程是否有用,如果有用,可為自己的新儲存過程重新定義名稱。

2、如果確定原有的儲存過程無用,在建立新的同名儲存過程時可用create or replace 來解決。

如,目前資料庫中存在一個叫p_test的儲存過程,如果確定無用,執行時可按如下方法:

oracle刪除constraint再新增同名約束報 名稱已由現有物件使用

3樓:

確認一下你是否刪除了

查詢:select * from user_constraints where table_name='你的表名'

刪除約束的方法:

alter table t drop primary key cascade ---刪除主鍵

alter table t drop unique(colname) ----刪除colname上的唯一約束

4樓:匿名使用者

你是直接drop 掉的?

oracle儲存過程的建立和執行問題

1.儲存過程中不能直接select 出結果,定義一些變數 之後select into 變數 2.既然是select就沒有必要用動態sql了,而且你的v sql 拼的有問題 你是在pl sql的sql語句視窗執行的嗎?在sql語句視窗要執行儲存過程的話要用語句塊begin sp ys 201305 5...

在oracle中建立儲存過程,來迴圈獲取a表中存放的查詢sql語句並一條一條的執行該sql語句並存下來

create or replace package body pkg a testpackage is procedure pkg a testprocedure prm 引數 in varchar2,prm 返回值 out number,prm 錯誤資訊 out varchar2 is type ...

關於oracle中建立簡單的儲存過程,求助

open out all for v sql,這個開啟遊標的寫法,你裡面沒定義遊標!v sql nvarchar2 2000 這個資料型別改為。v sql varchar2 2000 說的對,out all沒有定義遊標。sql,建立一個簡單的儲存過程 procgetjc 要求結果是求5 create...