我是靠谱客的博主 朴实枫叶,最近开发中收集的这篇文章主要介绍我建立一个procedure 为什么还会有ORA-00955: name is already used by an existing object 错误呢?...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

当一个procedure 和一个table 名字重复的时候 , 如果是存在的procedure 同名,那么会替换掉原先存在的procedure , 因为 or replace !但是table 存在了,你还用一样的名字建立procedure,那么oracle 知道你是table 还是procedure???![@more@]

我建立一个procedure 为什么还会有ORA-00955: name is already used by an existing object 错误呢?

我建立一个procudure 为什么还会有ORA-00955: name is already used by an existing object
是这样写的 .
--create autonomous transaction procedure

CREATE OR REPLACE PROCEDURE logging_infos (
log_info_in VARCHAR2,
log_time_in date
)
AS
PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
INSERT INTO logging_infos
(log_info, log_time
)
VALUES (log_info_in, log_time_in
);

COMMIT;
END;


就是建立一个子交易,记录父交易的插入记录.
查看Toad 的oracle文档:

ORA-00955 name is already used by an existing object


Cause: An attempt was made to create a database object (such as a table, view, cluster, index, or synonym) that already exists. A user's database objects must have distinct names.

Action: Enter a unique name for the database object or modify or drop the existing object so it can be reused.

应该和procedure 无关啊,我原先没有建立过这个procedure , 其实即使建立过,那么我再次建立也是可以的啊,大虾指点究竟是为什么?
拜谢~~

当一个procedure 和一个table 名字重复的时候 , 如果是存在的procedure 同名,那么会替换掉原先存在的procedure , 因为 or replace !但是table 存在了,你还用一样的名字建立procedure,那么oracle 知道你是table 还是procedure???!

是不被允许的,我的就是这个情况

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/226700/viewspace-830836/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/226700/viewspace-830836/

最后

以上就是朴实枫叶为你收集整理的我建立一个procedure 为什么还会有ORA-00955: name is already used by an existing object 错误呢?...的全部内容,希望文章能够帮你解决我建立一个procedure 为什么还会有ORA-00955: name is already used by an existing object 错误呢?...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部