如何在JS包装器中编写sqlite触发器
how to write a sqlite trigger in JS wrapper
让我们假设两个表:表1[idTble1,elmt1_T1,elmt2_T1]表2[idTble2,id_Tble1,elmt1_T2,索引]我想创建一个在Insert On table1
之后运行的触发器,并在表2中插入一个新行,其中
id_Tble1 = new.idTble1
elmt1_T2 = new.elmt1_T1
index是用户设置的值,只保存在表2中。我试过以下
var createTrigger = "CREATE TRIGGER triggerInsert AFTER INSERT ON Table1 REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW BEGIN INSERT INTO Table2 (id_Tble1, elmt1_T2, index) VALUES (:new.idTble1, :new.elmt_T1, ?); END;";
db.transaction(function(tx) {
tx.executeSql(createTrigger, [i], null, onError);
});
但我得到了一个错误(无法准备语句("REFERENCING"附近的1:语法错误)。
几个小时后,我至少部分工作了。我不得不承认,软件SQLiteManager,即使在演示版本中,在调试代码时也很有帮助。以下是有效的触发器:
var createTrigger = "CREATE TRIGGER triggerInsert AFTER INSERT ON Table1 BEGIN INSERT INTO Table2 (id_Tble1, elmt1_T2, index) VALUES (new.idTble1, new.elmt_T1, new.index); END";
db.transaction(function(tx) {
tx.executeSql(createTrigger, [], null, onError);
});
当我说"部分"时,是因为我无法让触发器在表单中使用"index"的值。所以我必须做的是在表1中创建一个新字段(index)。
相关文章:
- 悬停功能触发器
- PHP:显示sqlite数据库中的html格式数据,使用tinymce保存
- jQuery触发器点击未从AJAX成功工作
- 是否可以使用NativeScript使用Sqlite数据库
- 为什么会返回触发器('点击')
- 有没有一种方法可以检测ios<>使用jquery和触发器操作形成导航按钮
- jQuery自动完成触发器在选择时返回
- SQLite插件适用于Mac和Windows,但不适用于手机上的Safari
- sqlite查询返回错误-can'我不知道为什么
- 用键盘分页jQuery下一个和上一个控件.触发器('点击')不'不起作用
- Meteor出版物'是这样的吗;t触发器
- JS触发器值检查在文档加载后添加到页面的元素在加载时更改AND
- jQuery触发器事件在一个循环中多次出现
- 如何在更新面板内部调用/触发javascript函数<触发器>标签
- 触发器方法在javascript对象中定义,但在对象本身之外
- API GET或Zapier触发器到POST操作
- 使用Javascript将多条记录插入SQLite数据库时出错
- 连接SQlite数据库
- AngularJS选择更改触发器
- 如何在JS包装器中编写sqlite触发器