Ich versuche, eine benutzerdefinierte Funktion in eine Trigger-Klausel in SQLite mit Python zu integrieren, kann ich die benutzerdefinierte Funktion aufrufen, wenn ich nur die benutzerdefinierte aufrufen Funktion, jedoch versuche ich die benutzerdefinierte Funktion in einem Trigger-Klausel enthaltenSQLITE 3 Wie fügt man eine benutzerdefinierte Funktion in eine Trigger-Klausel ein Python
Diese meine benutzerdefinierte Funktion Schöpfung
self.conn.create_function("autocsvok", 1, self.syslog_autocsv)
Diese Funktion meine Callback-python ist
def syslog_autocsv(self,value):
print value
Ich bin in der Lage, die Callback-Funktion aufrufen, auf
sql2='select autocsvok("ss")'
self.cur.execute(sql2)
Das gibt mir Ausgabe
ss
jedoch Jetzt versuche ich, die benutzerdefinierte Funktion in einem Trigger-Klausel enthalten
sql3='''CREATE TRIGGER liiasssaa BEFORE INSERT ON syslog BEGIN
select autocsvok("55")
END'''
self.cur.execute(sql3)
print self.cur.fetchone()[0]
Dies gibt mir den folgenden Fehler
File "syslog.py", line 105, in syslog_createfunction
self.cur.execute(sql1)
sqlite3.OperationalError: near "END": syntax error
012 Helfen Sie mir
bitte :)
mob Der Trigger wird jetzt aufgerufen, aber wenn die Trigger-Funktion ausgeführt wird, sagt es keine solche Funktion: autocsvok, obwohl die Funktion existiert –
danke, hat nicht meine Create_function commit –