下面我有3個表#tblData
,#tblMaster
和#tblChild
,在這裏我需要#tblData
分裂成其他2臺#tblMaster
和#tblChild
與身份密鑰一起插入子數據。需要從主
在#tblChild
表中,我需要來自#tblMaster
的身份密鑰以及來自#tblData
表的其他數據。
Create Table #tblData (UniqueKey VARCHAR(10), DateTimeNow DATETIME, UpdateBy VARCHAR(10))
insert into #tblData values ('uq1', getdate(), 'abc'), ('uq2', getdate(), 'xyz')
--select * from #tblData
create Table #tblMaster (MasterId INT IDENTITY(1,1), DateTimeNow DATETIME, UpdateBy VARCHAR(10))
create Table #tblChild (ChildId INT IDENTITY(10,10), MasterId INT, UniqueKey VARCHAR(10), DateTimeNow DATETIME)
drop table #tblChild
drop table #tblMaster
drop table #tblData
通過下面的查詢我能夠將數據插入到「#tblMaster」,並能夠識別存儲到一個表變量「@OutputTbl」。
DECLARE @OutputTbl TABLE (MasterId INT)
INSERT INTO #tblMaster(DateTimeNow, UpdateBy)
OUTPUT INSERTED.MasterId INTO @OutputTbl(MasterId)
SELECT DateTimeNow, UpdateBy FROM #tblData
如何從#tblData
其他值到表變量@OutputTb
,這樣我可以插入到@OutputTb
表#tblChild
或是有任何其他方式做到這一點?
這三個表格是如何相互關聯的,即決定'uq1'是否應該進入子表格的第一行或第二行? –
@shree,非常有效的一點。目前這是連續的。假設我們使用SQL 2008,在表「#tblData」 – user584018