如果新建的表中某一列属性有约束,那么在sqlserver中导入数据过程中,如果有不符合该约束的值,就会导致冲突,导入失败。
一般的做法是先导入一个没有约束的表,然后在sqlserver中通过查询语句筛选掉不符合约束条件的元组,然后insert进入有约束的表。
显然这种方式简单但是会损耗空间,并且如果导入的数据表如果很多,这样的操作会很繁琐。
下面介绍用触发器解决这一问题的方式:
先建表
create table student(
number nchar(8) not null,
name varchar(50) not null,
sex nchar(2) not null check(sex in ('男','女')),
age int not null,
class int not null,
score decimal(5,2) check(score