更新トリガーを作成して、値をfalseに変更した後にEmpNctive列に基づいて日付をresignationdateという列に更新するようにします。更新のトリガーを作成する
両方の列は、tblEmployeeという同じテーブルにあります。
おかげ
更新トリガーを作成して、値をfalseに変更した後にEmpNctive列に基づいて日付をresignationdateという列に更新するようにします。更新のトリガーを作成する
両方の列は、tblEmployeeという同じテーブルにあります。
おかげ
は、あなたがこのような構造を持つテーブルがあると仮定すると:あなたはこのような何か行うことができます
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
そして今、トリガーを起動:DBMSが使用
UPDATE tblEmployee
SET EmpActive = 0
「近いと思います。私が知っている限り、SybaseとMicrosoft SQL Serverだけが 'inserted'と' deleted'疑似テーブルを持つセットベースのトリガを持っています。他の多くの製品には、行ごとのトリガーがあります。 –
@Damien_The_Unbelieverしかし、それは私がトピックの所有者を助けることができるすべてです* _ * – Daria
タグ。 (そのうちごくわずかしかANSI SQLトリガが実装されていません) – jarlh
は、 '値をfalseに変更すると、EmpActiveカラムに基づいた日付で、resignationdateという名前のカラムを更新します。' – TheGameiswar