使用sql developer从mysql表选择into oracle sql表

mwyxok5s  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(420)

准备好摆脱mysql数据库并切换到oraclesql。我使用的是oraclesql开发工具。需要从mysql表中获取记录,并在sql中填充相应的表。
我能够在sqldeveloper中建立到mysql数据库的数据库连接。我通过从表中执行一个简单的select*来检查连接,以确保它返回所有记录。
但是,新的oracle sql表有很多更改—mysql表中的名称都有一个“tn”前缀,即tnstore、tnconfigdate等。sql表去掉了这个前缀。这就是问题1。
新表中还将有几个新列。稍后将从其他地方添加这些数据。并且数据的顺序将与mysql表不同。
如何在sqldeveloper中编写selectinto语句,用mysql表中的数据填充sql表,并关联相应的列,同时暂时将新字段留空?

vm0i2vca

vm0i2vca1#

考虑使用sqldeveloper将现有的mysql表直接迁移到oracle。然后使用insert as selects将数据移动/重构到具有所需列定义的新表中。
可能要快得多,而且一旦有了“原始”数据,你就可以一遍又一遍地做你的工作,直到你把它做得恰到好处。
注意:您也可以简单地通过拖放将mysql表从其连接移动到现有的oracle数据库连接,从而将表移动到其上(ddl、data或两者兼有)。

pgccezyw

pgccezyw2#

下面是一种编程方法,但不确定如何在单个查询中实现:
我希望我们需要在oracle中使用数据字典表 all_tab_columns 在mysql中我也不确定(类似的表)
通过去掉前缀“tn”从mysql表中获取列名,并将列名与sql表进行比较(可能使用CURSOR)
if matched build sql语句 SELECT INTO 语句,并为可能在循环中的新字段留空。
对所有列执行完后,执行该语句

相关问题