当前位置:  开发笔记 > 编程语言 > 正文

如何在SQLite中创建自定义函数

如何解决《如何在SQLite中创建自定义函数》经验,为你挑选了1个好方法。

您可以像在MSSQL中一样在SQLite中创建函数吗?

如果是这样,怎么样?语法是什么?

谢谢



1> Roland Bouma..:

SQLite没有存储的函数/存储过程语言.所以CREATE FUNCTION不起作用.你可以做的是从ac库到SQL函数(用户定义的函数)的映射函数.为此,请使用SQLite的C API(请参阅:http://www.sqlite.org/c3ref/create_function.html)

如果您没有使用C API,您的包装器API可能会定义允许您访问此功能的内容,例如,请参阅:

PHP sqlite_create_function()(http://www.php.net/manual/en/function.sqlite-create-function.php)

Python sqlite3.create_function()(http://docs.python.org/2/library/sqlite3.html#sqlite3.Connection.create_function)

Perl $dbh->func(_$name,_$argc,_$func_ref,_"create_function")(https://metacpan.org/pod/DBD::SQLite#dbh-sqlite_create_function-name-argc-code_ref)


@Andrew:既然你提到了MSSQL,你可能有兴趣知道使用.NET的System.Data.SQLite提供程序很容易在任何CLR语言中实现SQLite UDF.http://sqlite.phxsoftware.com/
在Python + SQLAlchemy的情况下,您可以使用类似`engine.connect().connection.create_function()`来访问sqlite的本地`create_function()`方法.Linke:http://docs.sqlalchemy.org/en/latest/core/connections.html#working-with-raw-dbapi-connections
如果您按照本答案中的提到映射用户定义的函数,它是保留在sqlite数据库中还是每次加载数据库时都必须映射它?
好问题。我认为您可能必须重新映射。
此评论帮助我尝试弄清楚如何实际编写UDF:http://stackoverflow.com/questions/7867099/how-to-create-a-user-defined-function-in-sqlite
推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有