これが状況です
私はSQLにSPを持っています。これはそれぞれTable type variables
に一括挿入を実行するために使用される2つで動作します。Mails & attachments
両方ともSQLで関係があります。one to many
もちろんMailId
、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
、2行で同じで、一意のキーとして使用できる列が他にないという状況が発生しました。必要なのは、次のような解決策です。メールに挿入して、添付ファイルの次の挿入に使用できる生成されたIDを取得できます。
ソリューションに以下がない場合は、かなりのことです。
あらゆる種類のループ。
カーソル。