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

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

관련 정보