我正在执行INSERT INTO(使用select)基本上使用Data Manimpulation Languague(DML)将记录复制到临时表,然后这必须级联 到儿童桌。
所有子表的问题是将父表中的标识插入到临时表中,我希望它们使用登台表的标识值
除名称和架构
守则
DECLARE @FK_Value
INSERT INTO temp.tbl_staging_parent
(value1
, value2)
SELECT
value1
,value2
FROM
dbo.tbl_parent
WHERE
parent_id = @ParentID
SET @FK_Value = SCOPE_IDENTITY()
-- No Problems thus far
-- Here is the issue
INSERT INTO temp.tbl_staging_child
(FK
, value2)
SELECT
value1
,value2
FROM
dbo.tbl_child
WHERE
FK = @FK_Value
---我没有包含主键,它正在复制PK ---当我需要它时,从原始表中使用临时表的标识
如果有人有任何意见,请告诉我。
答案 0 :(得分:0)
INSERT INTO temp.tbl_staging_child
(FK
, value2)
SELECT
value1 -- this should be @FK_Value
,value2
FROM
dbo.tbl_child
WHERE
FK = @FK_Value -- this should probably be FK = @ParentId
答案 1 :(得分:0)
dbcc checkident('tables',reseed,0)
抱歉所有的桌子都必须重新种植。当我创建临时表时,他们保持身份值。