這裏的情況SQL批量插入到選擇
我在SQL有一個SP這兩個Table type variables
這是用來分別執行批量插入到Mails & attachments
現在,他們都對MailId
在課程one to many
SQL關係工作,SP看起來像這樣
MailInsertSP
@Mails mailsTableVar
@Attachements attachementsTableVar
-- this query will insert mails & generate MailIds
insert into Mails
(mails table column list...)
select
value list
from @Mails
-- this query will insert attachments
insert into Attachments
(MailId, other columns...)
select
(select MailId from Mails where MailDate = TBL.MailDate) as MailId,
other values
from @Attachements as TBL
到目前爲止MailDate
被unique
的郵件因此,此代碼工作正常,但現在我已經得到的情況下MailDate
兩行是相同的,我沒有任何其他的列whic h可以用作唯一鍵,所以我需要的是一些解決方案,以便我可以插入郵件並獲取生成的ID,這些ID可以用於下一次插入附件。
如果解決方案將不會跟隨
任何種類的循環,這將是明顯的。
遊標。
您可以使用MailDate和MailFrom的組合(假設您有)來確定唯一性而不僅僅是MAILDATE? – 2013-03-12 17:27:11