继续修改触发器(未完成,修改一个触发器可以添加多个变量)

This commit is contained in:
2025-09-22 22:58:51 +08:00
parent 0f869cf410
commit 042bc15288
14 changed files with 434 additions and 121 deletions

View File

@@ -0,0 +1,23 @@
-- 创建触发器与变量关联表
CREATE TABLE TriggerVariables (
Id INTEGER PRIMARY KEY AUTOINCREMENT,
TriggerDefinitionId INTEGER NOT NULL,
VariableId INTEGER NOT NULL,
FOREIGN KEY (TriggerDefinitionId) REFERENCES TriggerDefinitions(Id) ON DELETE CASCADE,
FOREIGN KEY (VariableId) REFERENCES Variables(Id) ON DELETE CASCADE
);
-- 创建索引以提高查询性能
CREATE INDEX IX_TriggerVariables_TriggerDefinitionId ON TriggerVariables (TriggerDefinitionId);
CREATE INDEX IX_TriggerVariables_VariableId ON TriggerVariables (VariableId);
-- 迁移现有数据将TriggerDefinitions表中的VariableId迁移到新的关联表中
INSERT INTO TriggerVariables (TriggerDefinitionId, VariableId)
SELECT Id, VariableId
FROM TriggerDefinitions
WHERE VariableId IS NOT NULL AND VariableId > 0;
-- 删除TriggerDefinitions表中的VariableId列如果数据库支持
-- 注意SQLite不支持直接删除列所以这里只是注释说明
-- 在支持的数据库中,可以使用以下语句:
-- ALTER TABLE TriggerDefinitions DROP COLUMN VariableId;