Articles of check constraints

Проверить ограничение на дату

Я создаю таблицу с столбцом date . Я хотел бы добавить ограничение проверки, чтобы проверить, будет ли дата в будущем. create table test_table ( schedule_date date not null, check (schedule_date >= TODAY) ); Выше sql дает синтаксическую ошибку. 09:43:37 [CREATE – 0 row(s), 0.000 secs] [Error Code: -201, SQL State: 42000] A syntax error has […]

Пример для функции, возвращающей строку True iff

Я пытаюсь обогнать это ограничение postgresql. Вероятно, у меня есть некоторые синтаксические проблемы. Пример таблицы: CREATE TABLE Customer( cid INTEGER primary key, age INTEGER NOT NULL ); Это моя функция: CREATE FUNCTION valid_buy(cid INTEGER) RETURNS BOOLEAN AS RETURN SELECT exists( select 1 from Customer c where c.age>=18 and c.cid = cid ) ;

Использование оператора case в контрольном ограничении

Я изучал SQL на прошлой неделе, но я не уверен, как правильно добавить оператор case в ограничение проверки. Может ли кто-нибудь дать мне какие-нибудь указания? У меня есть следующая таблица классов: CREATE TABLE Grade ( salary_grade char(1) NOT NULL CHECK (salary_grade = UPPER(salary_grade)), CONSTRAINT ck_grade_scale CHECK( CASE WHEN salary_grade = '[AD]' THEN salary_scale = 'S1' […]

SQL для предотвращения обновления столбца на основе его предыдущего значения

Может ли использоваться ограничение проверки (или какой-либо другой метод), чтобы предотвратить установку значения, которое противоречит его предыдущему значению, когда его запись обновляется. Одним из примеров может быть временная метка NULL, указывающая на то, что произошло, например «file_exported». После того, как файл был экспортирован и имеет значение, отличное от NULL, его никогда больше не следует устанавливать […]

Как написать запрос для обеспечения электронной почты содержит @

Я создаю базу данных в db2, и я хочу добавить ограничение для проверки того, вводит ли пользователь правильный адрес электронной почты, который содержит %@%.%. Без везения … никаких советов?

Сколько ограничений проверки затрат в Postgres 9.x?

Я хотел бы знать, есть ли какой-то критерий для сравнения того, сколько затрат вставляют некоторые контрольные ограничения в таблицу из 60 столбцов, где на 20 я хотел бы вставить ограничения NotEmpty и на 6 строк NotNull. Мое дело в том, что у меня на моей таблице пустые значения и значения Null (что в моем случае […]

Какие базы данных SQL поддерживают подзапросы в ограничениях CHECK?

Какие базы данных SQL, если таковые имеются, поддерживают подзапросы в ограничениях CHECK? В настоящее время, насколько я знаю, Oracle, MySQL и PostgreSQL этого не делают. РЕДАКТИРОВАТЬ (Разъяснение основано на начальных ответах.) Я ищу что-то вроде этого: CREATE TABLE personnel ( …, department VARCHAR(64) NOT NULL, salary NUMERIC NOT NULL, CHECK (salary >= (SELECT MIN(p.salary) FROM […]

Oracle 11g – Проверить ограничение с помощью RegEx

Я использую Oracle 11g и пытаюсь создать ограничение на создание таблицы для создания. Я пытался добавить контрольное ограничение для проверки некоторой информации (например, адреса электронной почты, номера телефона и т. Д.) Есть ли что-то в Oracle 11g, которое позволило бы мне сделать что-то подобное? constraint CK_CONSTRAINT_NAME check (EMAIL like 'REGEX') RegEx, который я хотел использовать […]

Суб-запросы в контрольном ограничении

У меня есть таблица, разработанная в SQL-Server 2008 R2. У меня есть столбец в этой таблице, который нужно проверять на другую таблицу при вставке данных. ALTER TABLE Table1 WITH CHECK ADD CONSTRAINT CK_Code CHECK (MyField in (Select Field From Table2)) Это вызывает ошибку Подзапросы в этом контексте не допускаются. Разрешены только скалярные выражения. Я рассмотрел […]

Ограничение CHECK в MySQL не работает

Сначала я создал таблицу типа CREATE TABLE Customer ( SD integer CHECK (SD > 0), Last_Name varchar (30), First_Name varchar(30) ); и затем вставили значения в эту таблицу INSERT INTO Customer values ('-2','abc','zz'); MySQL не показывает ошибку, она принимает значения.