我試圖創建一個名爲UndeleteU2Track的觸發器。此觸發器的目標是取消刪除跟蹤表中與藝術家是U2的專輯相關聯的任何曲目的效果。關鍵在於觸發器不會停止刪除,但通過重新創建完全相同的一行或多行刪除的曲目或曲目來取消其效果。此外,觸發忽略的軌道,與U2SQL觸發器取消刪除效果
這裏沒有關聯的缺失是我的代碼:
CREATE TRIGGER UndeleteU2Track BEFORE DELETE ON Track
BEGIN
SELECT CASE
WHEN OLD.TrackID IN (
SELECT t.TrackID
FROM Track AS t, Album AS a
WHERE t.AlbumID == a.AlbumID AND a.ArtistID ==
(SELECT ArtistID From Artist WHERE Name == "U2"))
THEN
INSERT INTO Track Values
(OLD.TrackID, OLD.Name, OLD.AlbumID, OLD.MediaTypeID,
OlD.GenreID, OLD.Composer, OLD.Millisecond, OLD.Byte, OLD.UnitPrice);
END;
END;
我有語法錯誤。
咦?這是一些非常奇怪的家庭作業嗎? –
觸發器的反應性使得它們在最佳時刻成爲維護關注點。這只是乞求麻煩。我強烈建議你重新考慮你的方法。 –