如何使用触发器创建条件SQL插入

时间:2016-10-16 18:42:12

标签: sql sql-server database triggers

我是SQL新手并在SQL Server中工作。有一个名为Employee的表,列name, ssn, salary等。我正在尝试编写一个触发器,在插入行时检查工资高于$ 20000。

如果它更高,那么插入,否则打印'工资必须更高'。我做了一些研究,但无法找到解决方案。

以下是我的想法,但这不是肯定的。

create trigger lowSalary 
on EMPLOYEE
INSTEAD OF INSERT
AS
BEGIN 
    SET NOCOUNT ON
        INSERT INTO EMPLOYEE

        IF salary < 20000 THEN
            print 'salary must be > 20000'
END

此外,我并非真正理解这一点instead of insert。我发现有人用过这个

INSTEAD OF INSERT
AS
BEGIN 
    SET NOCOUNT ON

1 个答案:

答案 0 :(得分:1)

以@Martin Smith的评论为基础:

在Check Constraints上查看此页面: http://www.w3schools.com/sql/sql_check.asp

在您的情况下,您可以创建一个约束:

CONSTRAINT chk_Salary CHECK (salary > 20000)