3

我正在尝试提出一个执行以下操作的 DB2 SQL 语句,但我不确定这是否允许。

我知道可以insert into tableA ( ... ) Values (?,?,?,...)
给这些参数赋值?

是否可以预定义参数之一的值?

例如,我要插入的列之一是 ,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 回答