2014-02-20 72 views
0

我有一个名为EXPLOR一个电子装置,它具有SQLite数据库就可以了这里我需要手动输入就可以了(一个由一列)Verbali表信息,然后发布在结束对车辆的门票。我可以输入关于它的所有信息,当我在设备上给出打印问题时,数据库关闭,我又打开它。从我使用此触发器时,信息不会保存在此设备上。INSERT触发器时不工作的sqlite

我有2个表verbalidata和nlist我试图插入到verbalidata的值,并创建了在verbali数据列中的触发器,它应该更新Nlist列值为verbalidata列值。 这是我的触发器。当我尝试执行这个陈述时,它就结束了。我的插入语句未创建。

CREATE TRIGGER [Points] 
AFTER INSERT 
ON [VerbaliData] 
FOR EACH ROW 
WHEN Targa is not null 
BEGIN 
UPDATE VerbaliData 
    set VerbaliRuleFourPoints = (select NaughtyList.Points from NaughtyList WHERE 
    NaughtyList.VRM = VerbaliData.Targa); 

    END 
+0

看起来像SQL-Server语法,而不是sqlite的。 –

+0

我们可以在插入新记录时使用更新 – preethi

+0

它不*只是*终止,有一条错误消息。 –

回答

0

你触发更新记录VerbaliData表。

必须寻找插入的记录,像这样:

CREATE TRIGGER Points 
AFTER INSERT ON VerbaliData 
FOR EACH ROW 
WHEN NEW.Targa IS NOT NULL 
BEGIN 
    UPDATE VerbaliData 
    SET VerbaliRuleFourPoints = (SELECT Points 
           FROM NaughtyList 
           WHERE VRM = NEW.Targa) 
    WHERE rowid = NEW.rowid; -- or whatever the primary key is 
END; 
+0

感谢CL ..我只是有一个疑问可以INSERT触发器可以 更新刚刚插入的数据。 – preethi

+0

CL我试过你的查询,但仍然做同样的事情终止。 – preethi

+0

你什么时候才能知道保持错误信息不是一个好主意? –