【发布时间】:2015-10-06 05:39:50
【问题描述】:
我正在评估 FLYWAY 并运行一个非常简单的脚本来创建一个新表并向该表插入一行。表创建成功,但在 INSERT 上出现 ORA-942 错误。我已经尝试了所有我能想到的排列,使用大写/小写以及带引号和不带引号的模式和表名。我还尝试将 INSERT 语句与 CREATE 语句分离到不同的脚本中 - 一切都无济于事。任何人都可以帮助解释 INSERT 语句需要的格式吗?
这是我最近一次尝试的陈述。我已经尝试了在 table_name 周围使用引号的相同语句,全部小写,架构周围没有引号 - 没有任何作用。以 SYS 身份直接登录到数据库中,我可以使用以下命令描述表: desc "FLYWAY_USER".部门
CREATE TABLE "FLYWAY_USER".DEPARTMENT
( DEPARTMENT_id NUMBER(3) NOT NULL,
DEPARTMENT VARCHAR2(64) NOT NULL,
display_name VARCHAR2(64) NOT NULL,
description VARCHAR2(400),
create_date DATE NOT NULL,
update_date DATE NOT NULL,
created_by VARCHAR2(80) NOT NULL,
updated_by VARCHAR2(80) NOT NULL )
TABLESPACE users;
INSERT INTO "FLYWAY_USER".DEPARTMENT
( DEPARTMENT_id,
DEPARTMENT,
display_name,
description,
create_date,
update_date,
created_by,
updated_by )
VALUES
( ( SELECT Nvl( Max(DEPARTMENT_id), 0) + 1 FROM DEPARTMENT ),
'HUMAN_RESOURCES',
'Human Resources',
'The best place to eat smores or get a raise.',
Sysdate,
Sysdate,
'AT09001',
'AT09001' );
谢谢
【问题讨论】:
-
如果您在问题中发布错误本身会很好......
-
请编辑您的帖子以包含完整错误代码的准确引用,因为它通常包含除错误名称之外的更多有用信息。
-
抱歉上面的格式 - 这是我的第一篇文章....这是错误:
-
迁移 V1_5__Install_Test_Case_1.sql 失败 ------------------------- --------- SQL 状态:42000 错误代码:942 消息:ORA-00942:表或视图不存在位置:/home/weblogic/flyway/flyway-3.2/flyway-3.2.1/sql/ V1_5__Install_Test_Case_1.sql (/home/weblogic/flyway/flyway-3.2/flyway-3.2.1/sql/V1_5__Install_Test_Case_1.sql) Line : 42 Statement : INSERT INTO "FLYWAY_USER".DEPARTMENT
-
我没有通过 flyway 登录到 SYS - 这是一个单独的数据库连接,只是为了显示对象存在。感谢所有快速 cmets....问题是子选择中对 DEPARTMENT 的引用。如果我完全确定脚本成功。