我们如何限制表具有固定行数?例如,如果我将Limit设置为20,则可以在其中插入20行,并且在该表之后应指示已超出限制。 如果我们使用这样的触发器,我们就无法在每次输入后获得行数。
CREATE TRIGGER log AFTER INSERT ON TEST_TABLE
BEGIN
INSERT INTO TEST_TABLE VALUES(....);
SELECT COUNT(COL) FROM TEST_TABLE;
END;
是sqlite的新手,请帮助我们。
答案 0 :(得分:3)
你在找这个吗?
CREATE TRIGGER tg_limit
BEFORE INSERT ON Table1
FOR EACH ROW
WHEN 15 < (SELECT COUNT(*) FROM Table1) + 1
BEGIN
SELECT RAISE(ABORT, 'Limit has been exceeded');
END
这是 SQLFiddle 演示
或
CREATE TRIGGER tg_limit
BEFORE INSERT ON Table1
FOR EACH ROW
BEGIN
SELECT RAISE(ABORT, 'Limit has been exceeded')
WHERE 15 < (SELECT COUNT(*) FROM Table1) + 1;
END
这是 SQLFiddle 演示