Oracleテーブルのフィールドデータを更新する方法は?

Oracleテーブルのフィールドデータを更新する方法は?

私のテーブル名:KEY_PARAMETER SET_NOという2つのフィールドで構成されています。およびMES_VAL SET_NO。変更され、変更されませんが、MES_VALファイルは毎分変更されます。

私の意図は、古い値を削除せずにこのMES_VALフィールドを更新することです。

SQL> desc key_parameter;
SQL> select SET_NO and MES_VAL from key_parameter;

SET_NO. MES_VAL
------  -------
2324     12.22
5555     -90.40
65467    89.98
1243     123
6754     12.67
5677     898.55
7853     11.00
9865     449.12
3244     90.33
3545     76.89

1分後、MES_VALフィールドが更新されます。そうです。

SET_NO. MES_VAL
------  -------
2324     17.67
5555     -90.5
65467    34,88
1243     88
6754     32,90
5677     227.9
7853     30.6
9865     109.3
3244     23.40
3545     132.8

バックエンドでは、Unixシェルスクリプトが私のSolarisシステムで実行されています。私の更新データは.txtファイルに保存されます。 oracle sqlldr REPLACEコマンドを使用してみましたが、データを削除してからテーブルに新しいデータを入力します。現在、オペレータは新しい値が挿入されるまでデータを見ることはできません。

また、insertコマンドを試しましたが、フィールドを更新するのではなく、不要な古いデータを保持することが発生しました。

答え1

以下のコードは機能します。

cat /tmp/spec2PC_sc.txt | sed -e 's/[insert]*/insert into key_parameter (SET_NO,MES_VAL) values (/' | sed 's/.*/&);/' >> /tmp/spec2PC1.txt

関連情報