Web.py Cookbook 简体中文版 - 整合 SQLite UDF (用户定义函数) 到 webpy 数据库层
2012-11-23 11:09
295 查看
问题:
用户在邮件列表中询问,我把它放在这里作为将来使用和参考。解决:
您可以添加到Python函数到SQLite,并让它们在您的查询调用。示例:
>>> import sqlite3 as db >>> conn = db.connect(":memory:") >>> conn.create_function("sign", 1, lambda val: val and (val > 0 and 1 or -1)) >>> cur = conn.cursor() >>> cur.execute("select 1, -1") <sqlite3.Cursor object at 0xb759f2c0> >>> print cur.fetchall() [(1, -1)] >>> cur.execute("select sign(1), sign(-1), sign(0), sign(-99), sign(99)") <sqlite3.Cursor object at 0xb759f2c0> >>> print cur.fetchall() [(1, -1, 0, -1, 1)] >>> conn.close()
在webpy中,你可以通过游标如
db._db_cursor().connection取得连接对象的引用。
示例:
>>> import web >>> db = web.database(dbn="sqlite", db=":memory:") >>> db._db_cursor().connection.create_function("sign", 1, lambda val: val and (val > 0 and 1 or -1)) >>> print db.query("select sign(1), sign(-1), sign(0), sign(-99), sign(99)").list() [<Storage {'sign(1)': 1, 'sign(-1)': -1, 'sign(99)': 1, 'sign(-99)': -1, 'sign(0)': 0}>]
相关文章推荐
- Web.py Cookbook 简体中文版 - db.insert 向数据库中新增数据
- Web.py Cookbook 简体中文版 - db.upate 数据更新
- Web.py Cookbook 简体中文版 - db.delete 数据删除
- Web.py Cookbook 简体中文版 - 从post读取原始数据
- Web.py Cookbook 简体中文版 - How to use templates on Google App Engine
- Web.py Cookbook 简体中文版 - deploying web.py with nginx and mod_wsgi
- Web.py Cookbook 简体中文版 - web.ctx
- Web.py Cookbook 简体中文版 - 在webpy中使用Mako模板引擎
- Web.py Cookbook 简体中文版 - 使用Apache + mod_wsgi部署webpy应用
- Web.py Cookbook 简体中文版 - 如何操作Cookie
- Web.py Cookbook 简体中文版 - Use Jinja2 template engine in webpy
- Web.py Cookbook 简体中文版 - 管理自带webserver日志
- Web.py Cookbook 简体中文版 - CGI deployment on Apache
- Web.py Cookbook 简体中文版 - Import functions into templates
- Web.py Cookbook 简体中文版 - 上传文件大小限定
- Web.py Cookbook 简体中文版 - 如何使用web.background
- Web.py Cookbook 简体中文版 - 在webpy中使用Cheetah模板引擎
- Web.py Cookbook 简体中文版 - Application processors
- Web.py Cookbook 简体中文版 - 使用子应用
- Web.py Cookbook 简体中文版 - 站点布局模板