как изменить таблицу, чтобы добавить столбец в поле int с столбцом int с проверочным ограничением в доступе ms 2016 - PullRequest
0 голосов
/ 06 мая 2020

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

ALTER TABLE GUEST
ADD COLUMN age int CHECK (>=18) 

1 Ответ

0 голосов
/ 06 мая 2020

Вы можете выполнить 2 оператора, чтобы добавить столбец, а затем ограничение CHECK, как в этом протестированном примере из Access 2010 ...

Dim strSql As String
strSql = "ALTER TABLE [GUEST] ADD COLUMN age int;"
CurrentProject.Connection.Execute strSql
strSql = "ALTER TABLE [GUEST] ADD CONSTRAINT CheckAge CHECK (age >= 18);"
CurrentProject.Connection.Execute strSql

Обратите внимание, что добавление ограничения CHECK должно выполняться с использованием ADO (объекты данных ActiveX) или другой метод, основанный на OleDb. Приведенный выше оператор ADD CONSTRAINT завершится ошибкой, если попытаться выполнить его с помощью метода DAO (Data Access Objects).

Выполнение оператора из CurrentProject.Connection было успешным, потому что это объект ADO и использует OleDb ...

? CurrentProject.Connection.Provider
Microsoft.ACE.OLEDB.12.0

Наконец, хотя подход с ограничениями CHECK может работать, другие читатели может оказаться, что Правило проверки будет более удобным способом указать, что требование данных> = 18.

...