标签: check-constraints

Oracle - 检查约束最大x个字数

我想添加一个检查约束,检查字段是否具有最大数量的X空格"".我在oracle网站上找不到任何关于它的信息.有谁知道这是否可能?也许通过PL/SQL函数?

oracle constraints check-constraints

0
推荐指数
1
解决办法
282
查看次数

仅在Oracle SQL中检查日期和月份的约束

因此,我需要一个约束来阻止用户输入该季度的第一天和该季度的最后一天之外的日期/月份,以及该表格将被"锁定"以进行编辑的日期.我做了一些在线搜索,并认为我找到了答案,但当我尝试它时,我收到了一个错误.

alter table TABLE_NAME
    add constraint data_beg_dt_chk check 
(trunc(data_beg_dt, 'DD-MON') = (trunc(to_date('01-JAN', 'DD-MON'))||(trunc(sysdate, 'YYYY'))) 
    OR trunc(data_beg_dt, 'DD-MON') = (trunc(to_date('01-APR', 'DD-MON'))||(trunc(sysdate, 'YYYY'))) 
    OR trunc(data_beg_dt, 'DD-MON') = (trunc(to_date('01-JUL', 'DD-MON'))||(trunc(sysdate, 'YYYY')))
    OR trunc(data_beg_dt, 'DD-MON') = (trunc(to_date('01-OCT', 'DD-MON'))||(trunc(sysdate, 'YYYY'))));
Run Code Online (Sandbox Code Playgroud)

我收到错误:

SQL Error: ORA-02436: date or system variable wrongly specified in CHECK constraint
02436. 00000 -  "date or system variable wrongly specified in CHECK constraint"

*Cause:    An attempt was made to use a date constant or system variable,
           such as USER, in a check constraint …
Run Code Online (Sandbox Code Playgroud)

sql oracle check-constraints oracle11g

0
推荐指数
1
解决办法
961
查看次数

如何为条件唯一值创建约束?

我正在使用SQL Server.我有这张桌子:

CREATE TABLE Student
(
   ID int PRIMARY KEY,
   FirstName varchar(100),
   LastName varchar(100),
   Active bit;
)
Run Code Online (Sandbox Code Playgroud)

我希望只有Active = 1才能拥有唯一(FirstName,LastName)学生.如果它们处于非活动状态,则不应触发唯一约束.任何的想法?

sql sql-server constraints check-constraints unique-constraint

0
推荐指数
1
解决办法
82
查看次数

排除某些词的触发器

我有一个与 T-SQL 中的数据库触发器相关的问题。

我想创建一个只允许特定词(可用,不可用)列的触发器avalability

怎么做?

我明白触发器是什么,但在命令序列中迷失了 - 什么应该在什么之后。

sql t-sql sql-server check-constraints database-trigger

0
推荐指数
2
解决办法
98
查看次数

PostgreSQL - 正则表达式约束,使 varchar 仅包含数字

我的 PostgreSQL 表中有一个列用于类型为 的电话号码VARCHAR。我选择此数据类型是因为在我的国家/地区电话号码以 0 开头。

\n

我需要引入一个约束来检查电话号码是否包含数字。

\n

这是我到目前为止所拥有的:

\n
ALTER TABLE contactInfo ADD CONSTRAINT checkPhone\nCHECK(phone NOT SIMILAR TO '%[a-z]%' AND phone SIMILAR TO '%[0-9]%');\n
Run Code Online (Sandbox Code Playgroud)\n

它似乎有效,但恐怕它不会过滤掉特定于不同语言的字符(例如 \xc3\xb9 \xc3\xbb \xc3\xbc \xc3\xa2 \xc3\xa0 等)。

\n

我该怎么做 ?

\n

regex sql string postgresql check-constraints

0
推荐指数
1
解决办法
2899
查看次数

如何绕过sql中的检查约束

模式

\n
   create table course\n        (course_id  varchar(8), \n         title      varchar(50), \n         dept_name  varchar(20),\n         credits    numeric(2,0) check (credits > 0),\n         primary key (course_id),\n         foreign key (dept_name) references department (dept_name)\n            on delete set null\n        );\n
Run Code Online (Sandbox Code Playgroud)\n

我想将此数据添加到表中,但无法添加 0 学分。

\n
\n

\xe2\x80\x9cCS-001\xe2\x80\x9d,标题为\xe2\x80\x9c每周研讨会\xe2\x80\x9d,0学分

\n
\n

插入查询

\n
INSERT INTO `course`(`course_id`, `title`, `credits`) VALUES (\'CS-001\',\'Weekly Seminar\',\'0\');\n
Run Code Online (Sandbox Code Playgroud)\n

查询结果: \n这里

\n

有没有其他方法可以在不改变表结构的情况下插入相同的数据?

\n

mysql check-constraints

0
推荐指数
1
解决办法
187
查看次数

验证 sql server 上的 varchar 列

我想创建一个查询来验证一列,以便它只允许三种不同的条目类型,即名为“问候”的表的“hello”、“hi”或“hey”,并防止输入任何其他文本。如果此方法不可行,是否有办法使其在输入任何其他文本(如“good day”)时变为“错误”

t-sql sql-server validation varchar check-constraints

-1
推荐指数
1
解决办法
327
查看次数