【发布时间】:2015-05-02 10:57:48
【问题描述】:
我在 sql 文件中创建如下表,每次有新文件要处理时都会调用该表。因此,每次有新文件出现时,我都会删除此表并再次创建并加载。当我从 shell 脚本调用它时,该表被删除并成功创建,但伴随着这个我得到如下错误。任何想法如何避免这种情况。
ERROR at line 1:
ORA-00955: name is already used by an existing object
删除表并创建 sql 文件:
DROP TABLE SCHEMA.TEMP_SOURCE;
CREATE TABLE SCHEMA.TEMP_SOURCE(
COL 1 VARCHAR2(30 CHAR),
COL 2 VARCHAR2(30 CHAR),
COL 3 VARCHAR2(30 CHAR),
);
/
EXIT;
【问题讨论】:
-
你是说drop和create成功了,但是报错了。错误是由脚本的不同部分引发的,或者 drop 和 create 正在引发错误,在这种情况下,其中一个或两个都失败了。
-
@DavidAldridge 问题是脚本末尾的斜线。 create 语句执行两次,因为它在缓冲区中。
-
@David 脚本中只有 drop 和 create,我成功删除了表并成功创建,之后我收到此错误。当我在后端检查表时,它已成功创建。
-
如果是因为斜线,那么如何避免它。如果我删除斜线,它会起作用吗?
-
按照我在答案中的建议,有一个有效的测试用例。