我试图在sqlite中使用python在触发器子句中包含一个自定义函数,当我只调用自定义函数时,我可以调用自定义函数,但是我试图在触发器子句中包含自定义函数
这是我的自定义函数创建
self.conn.create_function("autocsvok", 1, self.syslog_autocsv)
这是我的回调python函数
^{pr2}$我可以调用回调函数
sql2='select autocsvok("ss")'
self.cur.execute(sql2)
这给了我输出
ss
但是,现在我尝试在触发器子句中包含自定义函数
sql3='''CREATE TRIGGER liiasssaa BEFORE INSERT ON syslog BEGIN
select autocsvok("55")
END'''
self.cur.execute(sql3)
print self.cur.fetchone()[0]
这给了我以下错误
File "syslog.py", line 105, in syslog_createfunction
self.cur.execute(sql1)
sqlite3.OperationalError: near "END": syntax error
请帮帮我:)
请参阅}之间的语法部分
https://www.sqlite.org/lang_createtrigger.html
BEGIN
和{表达式必须以分号结尾。触发器的
select
不是以分号结尾的。在相关问题 更多 >
编程相关推荐