sqlServer中向视图插入数据时报错

创建student表时的代码

CREATE TABLE student
(
Sno char(12)  PRIMARY KEY,--主码
Sname varchar(20)  NOT NULL,--Sname不为空
Ssex char(4)  CHECK( Ssex = '男' OR  Ssex = '女'),
Sage SMALLINT,
Sdept varchar(20) NOT NULL,
);
GO
INSERT INTO student VALUES('20102001',' 阎妮','女','19', '自动化与软件学院');
INSERT INTO student VALUES('20102002',' 张有来','男','19','文学院' );
INSERT INTO student VALUES('20102003',' 王文喜','男', '20','软件工程');
INSERT INTO student VALUES('20102004',' 赵敏','女','21', '电力与建筑学院');
INSERT INTO student VALUES('20102005',' 罗莎','女','18', '软件工程');
INSERT INTO student VALUES('20102006',' 黄子弘凡','男','20', '软件工程');
GO

student表

img

创建视图时的代码

CREATE VIEW RG_student
AS
SELECT Sno,Sname,Sage
FROM student
WHERE Sdept='软件工程'
WITH CHECK OPTION;

视图

img

插入时的代码

INSERT 
INTO RG_student
VALUES('20101066','石凯','20');

报错提示
不能将值 NULL 插入列 'Sdept',表 'MyDatabase1.dbo.student';列不允许有 Null 值。INSERT 失败。

要插入就要插入表里所有不允许null的列,不能只插入一部分列