Вставка новых внешних ключей в новый столбец - PullRequest
1 голос
/ 15 декабря 2011

Я только что добавил три новых столбца в Table A, которые мне теперь нужно заполнить первичными ключами из таблицы TEXT.Для каждой новой ячейки мне нужно создать новую запись TEXT.Каков наилучший способ создания новой записи и сохранения ее первичного ключа для каждого нового поля в таблице с новыми столбцами?

Например, если Table A имеет 10 записей, мне нужно создать 30 (10* 3) новые TEXT записи и вставка их идентификаторов в Table A, чтобы каждая из 30 новых ячеек имела уникальный TEXT ID.

1 Ответ

0 голосов
/ 08 марта 2012
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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...