我刚刚向Table A
添加了三个新列,我现在需要填充表TEXT
中的主键。对于每个新单元格,我需要创建一个新的TEXT
记录。使用新列为表中的每个新字段创建新记录并存储其主键的最佳方法是什么?
例如,如果Table A
有10条记录,我需要创建30(10 * 3)条新TEXT
条记录并将其ID插入Table A
,以便30个新单元格中的每一条有一个独特的TEXT ID
。
答案 0 :(得分:0)
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