我想创建一个更新触发器,这样一旦将其值更改为false,它将使用基于EmpActive列的日期更新名为resignationdate的列。
这两列都位于名为tblEmployee的同一个表中。
由于
答案 0 :(得分:0)
假设你有一个具有这种结构的表:
CREATE TABLE tblEmployee (
resignationdate DATETIME,
EmpActive BIT
)
你可以这样做:
CREATE TRIGGER tblEmployeeTrig
ON tblEmployee
FOR UPDATE AS
BEGIN
IF (
SELECT EmpActive
FROM INSERTED) = 0
UPDATE tblEmployee
SET resignationdate = getdate()
--WHERE {some conditions}
END
这是Sybase ASE语法,但我猜它接近任何其他DBMS语法。
你可以这样测试:
INSERT INTO tblEmployee VALUES (getdate(), 1)
SELECT * FROM tblEmployee
现在点开触发器:
UPDATE tblEmployee
SET EmpActive = 0