0
我想觸發一個基於插入的where子句到不同表的更新。例如:我可以訪問SQLite觸發器中where子句的值嗎?
CREATE TRIGGER update_key_table
BEFORE INSERT ON value_table
BEGIN
INSERT OR IGNORE INTO key_table (key_name) VALUES ('new_key_name');
END;
這將更新key_table與價值「new_key_name」當下面的查詢運行:
INSERT INTO value_table (key_id, value)
SELECT key_table.key_id, 'new_value'
FROM key_table
WHERE key_table.key_name = 'new_key_name';
但是,我一直沒能找到任何方式來獲得訪問觸發查詢的WHERE子句中的'new_key_name'值。
我明白,我可以只按順序運行以下兩個查詢,這純粹是在這個特定的應用不便:
INSERT OR IGNORE INTO key_table (key_name) VALUES ('new_key_name');
INSERT INTO value_table (key_id, value)
SELECT key_table.key_id, 'new_value'
FROM key_table
WHERE key_table.key_name = 'new_key_name';
我認爲觀點的想法解決了我的問題。謝謝。 – vamin