examlog

来自「这是Getting Started With Sqlite 的相关示例代码和帮助」· 代码 · 共 70 行

TXT
70
字号
-- *******************************************************************--  examLog: Script for creating log table and related triggers--   Usage:--       $ sqlite3 examdatabase < examLOG----   -- *******************************************************************-- *******************************************************************CREATE TABLE examlog (lkey INTEGER PRIMARY KEY,                   ekey INTEGER,                  ekeyOLD INTEGER,                  fnNEW   VARCHAR(15),                  fnOLD   VARCHAR(15),                  lnNEW   VARCHAR(30),                  lnOLD   VARCHAR(30),                  examNEW INTEGER,                  examOLD INTEGER,                  scoreNEW DOUBLE,                  scoreOLD DOUBLE,                  sqlAction VARCHAR(15),                  examtimeEnter    DATE,                  examtimeUpdate   DATE,                  timeEnter        DATE);--  Create an update triggerCREATE TRIGGER update_examlog AFTER UPDATE  ON examBEGIN       INSERT INTO examlog  (ekey,ekeyOLD,fnOLD,fnNEW,lnOLD,                        lnNEW,examOLD,examNEW,scoreOLD,                        scoreNEW,sqlAction,examtimeEnter,                        examtimeUpdate,timeEnter)           values (new.ekey,old.ekey,old.fn,new.fn,old.ln,                  new.ln,old.exam, new.exam,old.score,                  new.score, 'UPDATE',old.timeEnter,                  DATETIME('NOW'),DATETIME('NOW') );     END;-- --  Also create an insert trigger--    NOTE  AFTER keyword ------vCREATE TRIGGER insert_examlog AFTER INSERT ON exam  BEGIN     INSERT INTO examlog  (ekey,fnNEW,lnNEW,examNEW,scoreNEW,                      sqlAction,examtimeEnter,timeEnter)           values (new.ekey,new.fn,new.ln,new.exam,new.score,                  'INSERT',new.timeEnter,DATETIME('NOW') );     END;--  Also create a DELETE triggerCREATE TRIGGER delete_examlog DELETE ON examBEGIN     INSERT INTO examlog  (ekey,fnOLD,lnNEW,examOLD,scoreOLD,                      sqlAction,timeEnter)           values (old.ekey,old.fn,old.ln,old.exam,old.score,                  'DELETE',DATETIME('NOW') );     END;-- *******************************************************************-- *******************************************************************

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?