Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在SQL Server中编写触发器时如何获取旧值_Sql Server - Fatal编程技术网

Sql server 在SQL Server中编写触发器时如何获取旧值

Sql server 在SQL Server中编写触发器时如何获取旧值,sql-server,Sql Server,如何在sql server中实现此脚本: DELIMITER | CREATE TRIGGER after_update_animal AFTER UPDATE ON Animal FOR EACH ROW BEGIN INSERT INTO Animal_histo ( id, sexe, date_naissance, nom, commentaires, espece_

如何在sql server中实现此脚本:

DELIMITER |

CREATE TRIGGER after_update_animal AFTER UPDATE

ON Animal FOR EACH ROW

BEGIN

    INSERT INTO Animal_histo (
        id, 
        sexe, 
        date_naissance, 
        nom, 
        commentaires, 
        espece_id, 
        race_id, 
        mere_id, 
        pere_id, 
        disponible,

        date_histo, 
        utilisateur_histo, 
        evenement_histo)
    VALUES (
        OLD.id,
        OLD.sexe,
        OLD.date_naissance,
        OLD.nom,
        OLD.commentaires,
        OLD.espece_id,
        OLD.race_id,
        OLD.mere_id,
        OLD.pere_id,
        OLD.disponible,

        NOW(),
        CURRENT_USER(),
        'UPDATE');
END |

DELIMITER ;

deleted
表保存更新前的值,
inserted
表保存新值<可以为每行输入代码>,因为这将执行批处理操作

CREATE TRIGGER after_update_animal ON Animal AFTER UPDATE
AS
BEGIN

    INSERT INTO Animal_histo (
        id, 
        sexe, 
        date_naissance, 
        nom, 
        commentaires, 
        espece_id, 
        race_id, 
        mere_id, 
        pere_id, 
        disponible,
        date_histo, 
        utilisateur_histo, 
        evenement_histo)
    SELECT
        OLD.id,
        OLD.sexe,
        OLD.date_naissance,
        OLD.nom,
        OLD.commentaires,
        OLD.espece_id,
        OLD.race_id,
        OLD.mere_id,
        OLD.pere_id,
        OLD.disponible,
        GETDATE(),
        SYSTEM_USER,
        'UPDATE'
    FROM
        deleted AS OLD

END

deleted
表保存更新前的值,
inserted
表保存新值<可以为每行输入代码>,因为这将执行批处理操作

CREATE TRIGGER after_update_animal ON Animal AFTER UPDATE
AS
BEGIN

    INSERT INTO Animal_histo (
        id, 
        sexe, 
        date_naissance, 
        nom, 
        commentaires, 
        espece_id, 
        race_id, 
        mere_id, 
        pere_id, 
        disponible,
        date_histo, 
        utilisateur_histo, 
        evenement_histo)
    SELECT
        OLD.id,
        OLD.sexe,
        OLD.date_naissance,
        OLD.nom,
        OLD.commentaires,
        OLD.espece_id,
        OLD.race_id,
        OLD.mere_id,
        OLD.pere_id,
        OLD.disponible,
        GETDATE(),
        SYSTEM_USER,
        'UPDATE'
    FROM
        deleted AS OLD

END

您正在查找的对象名称已删除。考虑读取触发器的文档:这看起来像MySQL而不是SQLServer,您是试图转换为SQLServer还是问题不正确?您正在查找的对象名称是“代码>删除< /代码>。考虑阅读关于触发器的文档:这看起来像MySQL而不是SQLServer,您是试图转换为SQLServer还是错误地标注问题?