仍然是sql开发的新手,但学习速度很快。
这个场景将通过实体框架解决,但这不是一个选项。
需要将数据插入两个表中。下面描述了这种情况。
主表有一个标识密钥,当与插入密钥的记录相关的数据被插入时,子表也需要该密钥。
源信息来自其他几个表。我无法更改Main或Sub表结构。
我试图避免使用游标,但我没有看到任何替代方案。
我尝试将输出inserted.main_id用于#temp1 - 这有效,但我找不到将Sub_ID放入该临时表的方法。 Sub_ID来自源。
我的工作方式是将数据插入Main表,然后将源中的哈希与Main表匹配,然后将Main_ID插入Sub表中,并附带相应的Sub_ID。
实施例
TABLE MAIN
Main_ID PK, bigint,not null - identity
FirstName varchar(15) not null
LastName varchar(15) not null
Misc1 varchar(15)null
Misc2 varchar(15) null
Misc3 varchar(15) null
TABLE SUB
Main_ID PK,FK,bigint, not null
Sub_ID int null
Misc4 varchar(15)
Misc5 varchar(15)
Misc6 varchar(15)
有没有办法将“Sub_ID”和“output inserted.main_id”一起捕获到临时表中?
现在我正在做的是匹配源中的哈希值和插入到主表中的记录,以获取将插入到子表中的Main_ID。
如果我可以在主表中生成Main_ID时将Sub_ID捕获到临时表中,则该过程会快得多。我想避免使用光标,但我认为这是我现在最好的选择。