SQL Server Management Studio - ограничение столбца на текстовые параметры - PullRequest
0 голосов
/ 18 ноября 2018

У меня есть простая база данных SQL Server Management Studio с несколькими таблицами.В каждой таблице есть несколько столбцов.В некоторых столбцах я хотел бы использовать ограничение, которое допускает только значение, предварительно определенное в ограничении.

Например, один столбец называется Действительным (тип данных = nchar (10)), и разрешены только входные данные:Нет и да.Я смог сделать эту работу:

Valid IS ('No', 'Yes')

SQL Server Management Studio преобразовал его в:

([Valid]='No' OR [Valid]='Yes')

Итак, это работает, и я протестировал его.Я пробую это с еще несколькими столбцами в других таблицах, и ничего не работает.Я не вставлял код, чтобы избежать скрытых символов.Я изменяю тип данных на text, ntext, и они все еще не работают.

Я хотел бы, чтобы что-то подобное работало (в настоящее время не используется ни один из приведенных выше синтаксических примеров):

([Location]='Outside' OR [Location]='Inside' OR [Location]='Around Building')

Какие-нибудь мысли?Спасибо!

1 Ответ

0 голосов
/ 18 ноября 2018

Создать или изменить таблицу с помощью TSQL, например:

CREATE TABLE foo (
    bar NCHAR(10) NOT NULL CONSTRAINT CK_foo_bar CHECK (bar IN (N'No', N'Yes'))
)

или

ALTER TABLE foo WITH CHECK ADD 
   CONSTRAINT CK_foo_bar CHECK (bar IN (N'No', N'Yes'))

или в ограничении:

([bar]=N'Yes' OR [bar]=N'No')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...