Проверьте наличие повторяющихся значений - PullRequest
0 голосов
/ 09 февраля 2012

Предположим, у меня есть следующая таблица:

PERSON :
ID INT
NAME STRING
LASTNAME STRING

В моем приложении CRUD я не могу позволить пользователю вставить существующую комбинацию NAME-LASTNAME. Каков наилучший способ сделать это? Пользователь может либо вставить нового человека, либо редактировать уже существующего.

1 Ответ

2 голосов
/ 09 февраля 2012

Вы не указываете базу данных, но если вы используете SQL Server 2008 или новее, вы должны создать составной индекс UNIQUE для столбцов, в вашем случае, поскольку только активные пользователи должны быть уникальными, фильтруемыми; 1001 *

CREATE UNIQUE INDEX uix ON PERSON(NAME, LASTNAME) WHERE ACTIVE=1;

Этот индекс будет индексировать только активных пользователей и запрещать дублирование только на них.

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