(Это продолжение ответа "onedaywhen" на вопрос , который я разместил ранее сегодня.)
Привет всем.Скажем, у меня есть таблица MyTable
с двумя int
полями, PrimaryKey
и MyNumber
.(И другие поля, не имеющие прямого отношения к этому вопросу).MyNumber
имеет уникальное ограничение и ограничение проверки, ограничивающее его до BETWEEN 1 AND n
.(Допустим, на данный момент n=5
.)
1,2
2,NULL
3,5
4,NULL
5,NULL
6,1
7,NULL
Как можно написать UPDATE
, чтобы изменить запись, где PrimaryKey=2
, чтобы MyNumber
имел значение, отличное от NULL
?Мне все равно, какое значение оно имеет, если оно не NULL
и соответствует двум ограничениям уникальности и находится в пределах досягаемости.
Я использую MS SQL Server, но надеюсь,есть ответ с использованием стандартного SQL.
(я также надеюсь, что не будет таблицы с номерами от 1 до n в качестве содержимого.)
Большое спасибо.