这是删除触发器后的正确吗?

时间:2016-10-07 23:37:19

标签: sqlite

我正在使用音乐数据库,并尝试制作一个触发器,如果​​曲目所在的专辑的标题包含“Nirvana”,则会重新创建从数据库中删除的确切曲目信息。触发器忽略删除“Nirvana”专辑中未包含的任何曲目。

CREATE TRIGGER UndeleteLostTrack 
AFTER DELETE on Track
WHEN (SELECT Album.Title
      FROM Album a, Track t
      WHERE a.AlbumID = t.AlbumID
        AND a.Title LIKE '%NIRVANA%')
BEGIN
    INSERT into Track(TrackID, Name, AlbumID, MediaTypeID, GenreID, Composer, Millisecond, Byte, UnitPrice)
    VALUES (OLD.TrackID, OLD.Name, OLD.AlbumID, OLD.MediaTypeID, OLD.GenreID, OLD.Composer, OLD.Millisecond, OLD.Byte, OLD.UnitPrice);
END;

触发器已创建,但不确定它是否正在执行它的意图。

0 个答案:

没有答案