版本:10.2b
所以我想说我正在训练桌狗:
table: dogs
fields: name, age, breed
我想使用标准加载实用程序将它们加载到oracle数据库中。但是oracle中的表看起来像这样
table: dog
fields: name, age, date_last_updated
所以,如果我创建一个与之匹配的临时表,有没有办法将临时表“转储”到sql中? (这样我就可以加载到oracle中)
如果没有,那也是一个很好的答案。
感谢您的帮助!!
编辑: 通过'sql dump'我的意思是:
INSERT INTO dog
VALUES (Max, 5, Feb 18, 2013)
有没有办法以这种格式获取表格,然后将单词“INSERT INTO”导出到我的文件中。
答案 0 :(得分:1)
感谢您的澄清。
从4GL中,转储表(真实表或临时表)的“自然”方式是使用EXPORT语句来创建文本文件。像这样:
/* export the dog record as-is
*/
output to "dog.d".
for each dog no-lock:
export dog.
end.
output close.
或:
/* export modified dog records
*/
output to "dog.d".
for each dog no-lock:
export dog.name dog.age now.
end.
output close.
这个Oracle: Import CSV file表明可以将CSV文件导入Oracle,因此您可以修改上面的代码,以便创建逗号分隔文件而不是使用Progress的默认空格分隔符:
/* export modified dog records to a CSV file
*/
output to "dog.csv".
for each dog no-lock:
export delimiter "," dog.name dog.age now.
end.
output close.
答案 1 :(得分:1)
根据您的问题,这样的事情会起作用。您还可以将“TT”引用替换为实际的表名。
OUTPUT TO VALUE("sqldump").
FOR EACH tt-dogs:
PUT UNFORMATTED
"INSERT INTO dog VALUES (" tt-dogs.dog-name tt-dogs.age TODAY ")" SKIP.
END.
OUTPUT CLOSE.
答案 2 :(得分:1)
使用具有ODBC支持的数据库管理工具(例如DBeaver)即可 连接到进度数据库并将表和视图导出到SQL插入。