0

バージョン:10.2b

それで、私が進行中のテーブルドッグを持っているとしましょう:

table: dogs 
fields: name, age, breed

標準のロードユーティリティを使用して、それらをOracleデータベースにロードしたいと思います。しかし、Oracleのテーブルは次のようになります

table: dog
fields: name, age, date_last_updated

したがって、これに一致する一時テーブルを作成する場合、一時テーブルをSQLに「ダンプ」する方法はありますか?(オラクルにロードできるように)

そうでなければ、それも良い答えです。

助けてくれてありがとう!

編集:「SQLダンプ」とは、次のことを意味します。

INSERT INTO dog
VALUES (Max, 5, Feb 18, 2013)

「INSERTINTO」という単語をファイルにエクスポートする以外に、この形式でテーブルを取得する方法はありますか。

4

3 に答える 3

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ファイルは、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.
于 2013-02-18T15:48:39.653 に答える
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.
于 2013-02-18T16:06:18.877 に答える
1

ODBCサポート付きのデータベース管理ツール(DBeaverなど)を使用すると、進行状況データベースに接続し、テーブルとビューをSQLインサートにエクスポートできます。

于 2013-02-19T02:07:21.093 に答える