При первоначальном желании вставить оператор, он имеет "где id = 100". Для меня это означает, что вы хотите изменить одну конкретную строку. Если это так, то вместо этого можно использовать оператор update . Вот пример.
#!/bin/sh
db2 -v "drop database db1"
db2 -v "create database db1"
db2 -v "connect to db1"
db2 -v "create table t1 (c1 int, c2 char(10), c3 char(10), c4 char(10), c5 char(10))"
db2 -v "insert into t1 values ( 1, 'aaa', 'AAA', 'aaaa', 'AAAA')"
db2 -v "insert into t1 values ( 2, 'bbb', 'BBB', 'bbbb', 'BBBB')"
db2 -v "insert into t1 values ( 3, 'ccc', 'CCC', 'cccc', 'CCCC')"
db2 -v "select * from t1"
db2 -v "update t1 set c1=4, c2='ddd' where c1=3"
db2 -v "select * from t1"
db2 -v "terminate"
Первый select * from t1
показывает ниже, какие текущие данные в таблице t1.
C1 C2 C3 C4 C5
----------- ---------- ---------- ---------- ----------
1 aaa AAA aaaa AAAA
2 bbb BBB bbbb BBBB
3 ccc CCC cccc CCCC
И второй показывает ниже после обновления оператор:
C1 C2 C3 C4 C5
----------- ---------- ---------- ---------- ----------
1 aaa AAA aaaa AAAA
2 bbb BBB bbbb BBBB
4 ddd CCC cccc CCCC
Как и выше, мы можем изменить C1 = 4 и C2 = 'ddd' , но оставить остальные столбцы для строки C1 = 3 был.
Пожалуйста, не обращайте внимания, если я неправильно пойму ваше требование.
Надеюсь, это поможет.