0
我有一個更改表,我需要分配id的交易表中的下一個可用id。批次完成後,它將被髮布到交易表。我如何在select insert語句中獲得另一個表的max + 1?我必須將它連接到同一查詢中的code_id。插入選擇更改表與其他表的交易最大id
INSERT INTO CHANGES
(P.CODE, P.ID, P.CODE_ID, P.FIRST_NAME, P.MIDDLE_NAME, P.LAST_NAME)
SELECT 'P', MAX(transactionstable.ID) +1,
'P0000' + MAX(transactionstable.ID) +1, 'first','middle','last';
爲什麼不使用'identity'列呢? – Igor
'SELECT'P',(SELECT max(id)+ 1 FROM transactiontable),'P0000'+(SELECT max(id)+ 1 FROM transactiontable),'first',...' – JNevill
爲什麼需要生成更改表中的ID。爲什麼不讓交易表中的標識列滿足要求。如果在事務表中發生任何其他插入,則在更改表中創建一個ID時,您始終有風險,該更改表與事務表中的ID重複。 –