我可以以及如何使用 IntelliJ 数据库工具查询多个数据库模式吗?
Can I, and how to, query severals database schemas with IntelliJ database tool?
我正在使用 IntelliJ 创建我的应用程序和一个 Oracle 数据库。
目前,我必须将数据从旧数据库 SCHEMA
迁移到新数据库。表和列已更改,我想创建一个 IQBase 脚本,在安装新应用程序版本期间,它将 运行 在不同的服务器上。
所以我得到了旧 SCHEMA
中的数据(我们将讨论 OLD_SCHEMA
),我想 SELECT
这些数据,转换它们 INSERT INTO
NEW_SCHEMA
。所以我想做类似的事情:
INSERT INTO NEW_SCHEMA.TABLE_X (........) SET (SELECT ..... FROM OLD_SCHEMA.TABLE_Y)
但是当我试图在与 IntelliJ 捆绑的数据库工具中执行这种查询时,我得到了一个错误解释,即不存在 table 或视图。
[2016-09-06 15:22:29] [42000][942] ORA-00942: Table ou vue inexistante
这似乎很正常,因为当我创建一个 SQL 控制台文件来测试我的查询时,它链接到两个模式之一。
那么,我可以,如果可以的话,如何执行我的查询以使用两个模式的数据?
谢谢。
PS : 导入、导出不是解决方案,结构发生了很大变化。
您不能查询其他模式中的表,除非您被授予这样做的权利。如果您连接到 new_schema 并想要查询 old_schema.table_y,您需要对 old_schema.table_y.
的 select 权限
为此,请连接到 old_schema 并授予这些权限。
grant select on table_y to new_schema;
现在您的查询应该可以工作了(没有 set 语句)。
有关语法示例,请参阅此 link。
Oracle insert from select into table with more columns
要使用两个模式,您的 USER 必须在两个模式中都有授权(在 SELECT、INSERT 等上)。
而且你对 INSERT 语句使用了错误的语法,你需要像这样使用语法
INSERT INTO NEW_SCHEMA.TABLE_X (........) SELECT ..... FROM OLD_SCHEMA.TABLE_Y
我正在使用 IntelliJ 创建我的应用程序和一个 Oracle 数据库。
目前,我必须将数据从旧数据库 SCHEMA
迁移到新数据库。表和列已更改,我想创建一个 IQBase 脚本,在安装新应用程序版本期间,它将 运行 在不同的服务器上。
所以我得到了旧 SCHEMA
中的数据(我们将讨论 OLD_SCHEMA
),我想 SELECT
这些数据,转换它们 INSERT INTO
NEW_SCHEMA
。所以我想做类似的事情:
INSERT INTO NEW_SCHEMA.TABLE_X (........) SET (SELECT ..... FROM OLD_SCHEMA.TABLE_Y)
但是当我试图在与 IntelliJ 捆绑的数据库工具中执行这种查询时,我得到了一个错误解释,即不存在 table 或视图。
[2016-09-06 15:22:29] [42000][942] ORA-00942: Table ou vue inexistante
这似乎很正常,因为当我创建一个 SQL 控制台文件来测试我的查询时,它链接到两个模式之一。
那么,我可以,如果可以的话,如何执行我的查询以使用两个模式的数据?
谢谢。
PS : 导入、导出不是解决方案,结构发生了很大变化。
您不能查询其他模式中的表,除非您被授予这样做的权利。如果您连接到 new_schema 并想要查询 old_schema.table_y,您需要对 old_schema.table_y.
的 select 权限为此,请连接到 old_schema 并授予这些权限。
grant select on table_y to new_schema;
现在您的查询应该可以工作了(没有 set 语句)。
有关语法示例,请参阅此 link。 Oracle insert from select into table with more columns
要使用两个模式,您的 USER 必须在两个模式中都有授权(在 SELECT、INSERT 等上)。
而且你对 INSERT 语句使用了错误的语法,你需要像这样使用语法
INSERT INTO NEW_SCHEMA.TABLE_X (........) SELECT ..... FROM OLD_SCHEMA.TABLE_Y