2011-12-15 11 views
1

Table Aに3つの新しい列を追加しました。表TEXTの主キーを入力する必要があります。新しいセルごとに、新しいTEXTレコードを作成する必要があります。新しいレコードを作成し、新しい列があるテーブルの新しいフィールドごとにプライマリキーを格納する最も良い方法は何ですか?例えば新しい列に新しい外部キーを挿入する

Table Aは、10件のレコードを持っている場合、私は30(10 * 3)新しいTEXTレコードを作成し、30個の新しい細胞のそれぞれが固有のTEXT IDを持つようにTable Aに自分のIDを挿入する必要があります。

答えて

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 
関連する問題