准备摆脱 MySQL 数据库并切换到 Oracle SQL。我正在使用 Oracle SQL Developer。需要从MySQL表中获取记录并用SQL填充其对应的表。
我能够在 SQL Developer 中建立与 MySQL 数据库的数据库连接。我通过从表中执行简单的 SELECT * 操作来检查连接,以确保它返回所有记录。
然而,新的Oracle SQL表有不少变化——MySQL表中的名称都有一个“tn”前缀,即tnStore、tnConfigDate等。SQL表去掉了这个前缀。这是问题#1。
新表中还将有几个新列。该数据稍后将从其他地方添加。并且数据的顺序不会与MySQL表的顺序相同。
如何在 SQL Developer 中编写 SELECT INTO 语句,以使用 MySQL 表中的数据填充 SQL 表并关联相应的列,同时将新字段暂时留空?
最佳答案
这是一种编程方法,但不确定如何在单个查询中实现它:
我希望我们需要在oracle中使用数据字典表all_tab_columns
,但我不确定在Mysql中(就像类似的表)
- 通过取出前缀“tn”从 Mysql 表中获取列名 将列名与 SQL 表进行比较。 (可以使用光标)
- 如果匹配,则为
SELECT INTO
语句构建 SQL 语句并留空 对于可能在循环中的新字段。 - 完成所有列后,执行该语句
关于mysql - 使用 SQL Developer 从 MySQL 表中 SELECT INTO Oracle SQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50352717/