从sqlite3触发器启动Python脚本

Eri*_*eve 7 python sqlite

是否有可能让sqlite3有一个触发器来启动python脚本?我有一个表格,其中包含我正在监控网页评论的项目列表.有些物品没有.我有一个脚本定期检查项目,并根据它为每个项目找到的内容更新项目表.我想拥有它,以便当项目表更新时,触发器可以启动python脚本,然后可以根据从其他站点提取的数据运行和更新其他表.

这甚至可能吗?

CL.*_*CL. 10

SQL语句(也在内部触发器中)可以调用用户定义的函数,这些函数是使用create_function创建的:

import sqlite3

def hello(x):
    print "Hello"

con = sqlite3.connect(":memory:")
con.create_function("hello", 1, hello)
cur = con.cursor()
cur.execute("CREATE TABLE t(x)")
cur.execute("CREATE TRIGGER tt AFTER INSERT ON t BEGIN SELECT hello(NEW.x); END;")
cur.execute("INSERT INTO t VALUES(1)")
Run Code Online (Sandbox Code Playgroud)

该函数允许更改数据库; 该文件说:

允许应用程序定义的函数调用其他SQLite接口.但是,此类调用不能关闭数据库连接,也不能完成或重置正在运行该函数的预准备语句.

  • 我理解触发器如何在数据库本身内完成任务.但是,我想知道的是,是否有任何能力在数据库之外产生任何影响.假设我在表格中添加了一个新项目.我想要一个python脚本去一些网页,让它将数据拉入数据库.可以这样做吗? (2认同)