Using pysqlite2

Gerhard Häring gh at ghaering.de
Sat Jun 3 01:05:15 CEST 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dennis Benzinger wrote:
> lolmcbride at googlemail.com wrote:
>> Is it possible to use this for sending triggers to a sqlite db?Could
>> someone provide me with an example of how to do this please?
>> Thanks
> 
> Do you want to implement a trigger for a SQLite database in Python?
> 
> That won't work. Triggers in SQLite can only contain UPDATE, INSERT, 
> DELETE and SELECT statements http://sqlite.org/lang_createtrigger.html>.

Yes, but you can fake it.

You can create a new SQL function using pysqlite's create_function, and
then just call that function in the trigger. In that Python function from
the trigger, you can then even access SQLite again.

I've attached a quick-and-dirty example.

Note that exceptions in functions get ignored currently, so you better
implement a try-except with some kind of logging during development,
otherwise you will wonder why nothing happens.

Also, older pysqlite releases won't provide useful error messages if you
have errors in the SQL you send to executescript(). Using a recent pysqlite
release is recommended if you plan to use executescript().

- -- Gerhard
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFEgMQrdIO4ozGCH14RArFaAKCU8lgwidMoNQ0GGKVwJ2GV9xPF8ACfTDhv
QVHvudLfoDGiIyFgHe5w6L4=
=bfUa
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: trigger_example.py
Type: text/x-python
Size: 702 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/python-list/attachments/20060603/a93fa015/attachment.py>


More information about the Python-list mailing list