CREATE TRIGGER logaction ON temployeelog
AFTER INSERT
AS
BEGIN
INSERT INTO TABLE temployee(ename, experience)
SELECT ename,experience FROM INSERTED
END
雇员的结构
CREATE TABLE temployee
(
ename VARCHAR(20),
experience INT NOT NULL
)
ALTER TABLE temployeeADD DEFAULT (0) FOR experience
当我没有在“插入”体验列中传递数据时,我将收到错误消息。
无法将NULL值插入表的“ experience”列中 '临时雇员';列不允许为空。 INSERT失败。该声明 已终止。
我想传递NULL值temployeelog表,并希望通过“保留在temployee中的DEFAULT VALUES”来处理这些情况
我该如何实现?
答案 0 :(得分:4)
只有在您不插入表格默认值的情况下,该表格才会起作用,因此将插入内容拆分为一个可以处理non-null
的体验和一个可以处理null
的体验
INSERT INTO TABLE temployee(ename, experience)
SELECT ename,experience
FROM INSERTED
where experience is not null;
INSERT INTO TABLE temployee(ename)
SELECT ename
FROM INSERTED
where experience is null;