我是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
答案 0 :(得分:1)
以@Martin Smith的评论为基础:
在Check Constraints上查看此页面: http://www.w3schools.com/sql/sql_check.asp
在您的情况下,您可以创建一个约束:
CONSTRAINT chk_Salary CHECK (salary > 20000)