3

以下を実行する DB2 SQL ステートメントを作成しようとしていますが、これが許可されているかどうかはわかりません。

insert into tableA ( ... ) Values (?,?,?,...)
これらのパラメーターに値を割り当てて割り当てることが可能であることを知っています?

いずれかのパラメータの値を事前に定義することはできますか?

たとえば、挿入しようとしている列の 1 つは で、のID columnようなものにしたいと考えていますselect max(id) + 1 from tableA

これは私が取得しようとしているものです-この構文はで可能db2ですか?

insert into tableA (ID, Text1, Text2) VALUES (select max(id)+1 from tableA, ?, ?)

とにかく - どんな助けでも大歓迎です!

ありがとう!!

4

3 に答える 3

4

これはうまくいくはずです:

 insert into tableA values((select max(id)+1 from tableA),'text1','text')
于 2012-04-18T14:06:57.110 に答える
0

テーブルのインデックスとして主キーが必要なようです。

db2 alter table tableA add primary key (id)

これにより、テーブルに列が作成され、新しいレコードを追加すると自動的にインクリメントされます。ソース(http://www.ibm.com/developerworks/data/library/techarticle/dm-0401melnyk/

于 2012-04-18T14:01:14.703 に答える
0

OVERRIDING USER VALUEパラメータを使用して試すこともできます。

INSERT INTO TableA
OVERRIDING USER VALUE 
SELECT 0,Text1, Text2
From TableB 
于 2014-09-03T18:01:49.250 に答える