2015-09-15 3 views
-1

У меня есть таблица, например ItemGroup, и она имеет два столбца, например ItemID, ItemGroupID.Как ограничить ввод грязных данных в таблицу?

Таким образом, при вставке в эту таблицу (уже сделанный proc я не могу изменить), нет никаких ограничений, чтобы избежать вставки грязных данных.

Правильные данные:

ItemID  ItemGroupID 
1   10 
2   11 

Неправильные данные

ItemID  ItemGroupID 
1   10 
1   11 
2   11 

Вступительные со значением 1 и 11 является неправильным.

+2

Что вы подразумеваете под грязными данными? –

+5

Вам нужно объяснить *** почему *** строка с (1, 11) неверна * по вашему определению ..... –

+0

вы имеете в виду иностранный ключ? –

ответ

0

создать одну главную таблицу с составным (двумя столбцами) первичным ключом и создать сложный внешний ключ в таблице ItemGroup ON ItemID, ItemGroupID и ссылаться на него с помощью основного первичного ключа.

3

Сначала удалите неправильные данные из таблицы, а затем выполните сценарий ниже, как только вы выполните ниже сценария, таблица не позволит такие неправильные данные.

ALTER TABLE ItemGroup 
    ADd UNIQUE un_const(ItemID, ItemGroupID); 
Смежные вопросы