gitlab.com/CoiaPrant/sqlite3@v1.19.1/testdata/tcl/trigger5.test (about)

     1  # The author disclaims copyright to this source code.  In place of
     2  # a legal notice, here is a blessing:
     3  #
     4  #    May you do good and not evil.
     5  #    May you find forgiveness for yourself and forgive others.
     6  #    May you share freely, never taking more than you give.
     7  #
     8  #***********************************************************************
     9  #
    10  # This file tests the triggers of views.
    11  #
    12  
    13  set testdir [file dirname $argv0]
    14  source $testdir/tester.tcl
    15  ifcapable {!trigger} {
    16    finish_test
    17    return
    18  }
    19  
    20  # Ticket #844
    21  #
    22  do_test trigger5-1.1 {
    23    execsql {
    24      CREATE TABLE Item(
    25         a integer PRIMARY KEY NOT NULL ,
    26         b double NULL ,
    27         c int NOT NULL DEFAULT 0
    28      );
    29      CREATE TABLE Undo(UndoAction TEXT);
    30      INSERT INTO Item VALUES (1,38205.60865,340);
    31      CREATE TRIGGER trigItem_UNDO_AD AFTER DELETE ON Item FOR EACH ROW
    32      BEGIN
    33        INSERT INTO Undo SELECT 'INSERT INTO Item (a,b,c) VALUES ('
    34         || coalesce(old.a,'NULL') || ',' || quote(old.b) || ',' || old.c || ');';
    35      END;
    36      DELETE FROM Item WHERE a = 1;
    37      SELECT * FROM Undo;
    38    }
    39  } {{INSERT INTO Item (a,b,c) VALUES (1,38205.60865,340);}}
    40  
    41  integrity_check trigger5-99.9
    42  
    43  finish_test