这里的情况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