Проблема наследования в SQL Server 2005 - PullRequest
0 голосов
/ 09 июня 2011

У меня проблема, решение которой я сейчас не могу найти. Скажем, у меня есть стол

CREATE TABLE #Test
(
     SomeValue1 INT,
     SomeValue2 INT
)

Теперь у меня есть две другие таблицы, скажем TableA и TableB, в которых TableB наследуется от TableA, разделяя его первичный ключ. Я хочу вставить SomeValue1 в TableA и SomeValue2 в TableB, но таким образом, чтобы при соединении TableA и TableB по их первичному ключу вы получали #Test, но я могу ' не могу понять, как это сделать. Может кто-нибудь, пожалуйста, помогите мне?

Ответы [ 2 ]

0 голосов
/ 09 июня 2011

Если TableB наследует, я предполагаю, что TableB имеет внешний ключ для столбца IDENTITY в TableA

INSERT TableA (SomeValue) VALUES (SomeValue1)
INSERT TableB (SomeValue) VALUES (SCOPE_IDENTITY(), SomeValue2)

В противном случае вы можете адаптировать предложение OUTPUT из ваших других недавних вопросов: Вывод во временную таблицу вSQL Server 2005

Примечание:

Как это относится к Итерации по таблице в высокопроизводительном коде ?Каково ваше фактическое сквозное требование ... вы задаете очень конкретные вопросы, которые, вероятно, на самом деле не помогают

0 голосов
/ 09 июня 2011
SELECT SomeValue1, SomeValue2 FROM TableA A JOIN TableB B ON A.PrimaryKey=B.PrimaryKey

Звучит так, как вы просите, из того, что я могу сказать. Может быть, вы также говорите, что хотите создать представление двух таблиц существующих данных?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...