1
我刚刚添加了三个新列到Table A
,我现在需要使用表TEXT
中的主键填充。对于每个新单元,我需要创建一个新的TEXT
记录。使用新列创建新记录并将其主键存储在表中的每个新字段的最佳方法是什么?将新外键插入新列
例如,如果Table A
有10条记录,我需要创建30(10 * 3)新TEXT
记录,并插入其ID添加到Table A
使每个30个新细胞具有独特的TEXT ID
。
我刚刚添加了三个新列到Table A
,我现在需要使用表TEXT
中的主键填充。对于每个新单元,我需要创建一个新的TEXT
记录。使用新列创建新记录并将其主键存储在表中的每个新字段的最佳方法是什么?将新外键插入新列
例如,如果Table A
有10条记录,我需要创建30(10 * 3)新TEXT
记录,并插入其ID添加到Table A
使每个30个新细胞具有独特的TEXT ID
。
CREATE TABLE A
(
ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED
, Column1 INT NULL
, Column2 INT NULL
, Column3 INT NULL
)
CREATE TABLE TEXT
(
ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED
, [Column] INT NULL
)
INSERT INTO A (Column1, Column2, Column3)
SELECT 1, 2, 3
INSERT INTO A (Column1, Column2, Column3)
SELECT 4, 5, 6
INSERT INTO A (Column1, Column2, Column3)
SELECT 7, 8, 9
select ID, Column1, Column2, Column3
from A
select ID, [Column]
FROM [TEXT]
INSERT INTO TEXT([Column])
SELECT TEXTID
FROM
(SELECT ID, Column1, Column2, Column3
FROM A) Tmp
UNPIVOT
(TEXTID FOR A IN
(Column1 , Column2, Column3)
)AS unpvt