У меня есть база данных SQL Server 2012 Express со следующей ситуацией. У меня есть Sales
, a Purchase
и таблица Movement
. Оба Sales
и Purchase
приведены в таблице Movement
.Внешний ключ SQL Server для разных таблиц
Но я хотел бы контролировать, откуда берутся данные. В основном:
MOVEMENT_ID TABLE_ID RECORD_ID PROD QTY
1 PURCHASE 1 PENCIL 10
2 PURCHASE 2 ERASER 5
3 SALES 1 PENCIL 1
4 PURCHASE 3 MARKER 10
Не беспокойтесь о нормализации части, я просто хочу, чтобы выяснить, могу ли я иметь внешний ключ на Record_ID
колонке, что ссылки на запись таблицы, указанной в Table_ID
колонки. Итак ...
- на
MovementID=1
, я хочу, первая записьPurchase
таблицы - на
MovementID=3
, я хочу, чтобы первая записьSales
таблицы
Является ли это вообще возможно? Если да, то как?
* «Не беспокойтесь о части нормализации» *, как говорится, не волнуйтесь об этой плоской шине на вашем автомобиле, она отлично справится. – Kermit
Я думаю, вам будет лучше с тремя столбцами 'Purchase_Id, Sales_Id, Source_Table' –
мой вопрос более теоретический. я не хочу, чтобы какой-нибудь евангельский db, такой как вы, чтобы получить все праведные о чем-то, что я буду делать в любом случае. – CogentP