如何更新oracle表中某个字段的数据?

如何更新oracle表中某个字段的数据?

我的表名称:KEY_PARAMETER 它由两个名为 SET_NO 的字段组成。和 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

一分钟后,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 shell 脚本正在我的 Solaris 系统中运行。我的更新数据保存在 .txt 文件中。我尝试过使用 oracle sqlldr REPLACE 命令,但发生的情况是删除它的数据,然后将新数据填充到表中。目前,操作员无法查看任何数据,直到插入新值。

我也尝试插入命令,但发生了什么而不是更新字段,它保留了我不需要的旧数据。

答案1

下面的代码有效。

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

相关内容