请问check约束能够实现文字约束吗,列如一头猪,两头猪? check约束的表达式
- CHECK约束中的表达式格式??
- check约束:如果约束表中一个字段的值可以来自另外两张表中的字段?
- 在数据库中为字段ID增加约束,要求ID字段的格式同时满足以下5个条件
- 用SQLyog 添加check约束
CHECK约束中的表达式格式??
写出对该列的约束条件就可以了,举个例
1.设定该列的值大于五
列名>5
2.设定该列的值大于5小于10,中间用and连接
列名>5 and 列名<10
check约束:如果约束表中一个字段的值可以来自另外两张表中的字段?
写个触发器可以实现你的要求
create trigger id_check on Table
for insert update
as
begin
if(select no from inserted) not in (select no from Table1 union select no from Table2)
rollback
end
--用这个 刚才那个单条数据插入时应该可以多条就不对了
这回应该可以了
create trigger id_check on Table
for insert,update
as
begin
if(select count(ins.no) from inserted ins left join Table1 t1 on ins.no=t1.no left join Table2 t2 on ins.no=t2.no where t1.no is null and t2.no is null)>0
rollback
print '提示的话'
end
不知道是否满足你的要求
在数据库中为字段ID增加约束,要求ID字段的格式同时满足以下5个条件
alter table tab_test add constraint ck_id check(id like '00[0-9][0-9][_][a-z,A-Z][a-z,A-Z][a-z,A-Z]')
用SQLyog 添加check约束
可以在建表时这样写:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CHECK (Id_P>0)
)
如果是多列需要check约束的话,可是这样写:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')
)
如果已经存在表Persons,再需要添加check约束的话,可以这样写:
ALTER TABLE Persons
ADD CHECK (Id_P>0)
如果是多列需要check约束的话,可是这样写:
ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')