2010-01-21 230 views

回答

37

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

如果你不使用C API,你的封装API可以定义的东西,可以让你访问该功能,例如参见:

+5

@Andrew:由于您提到了MSSQL,您可能有兴趣知道使用.NET的System.Data.SQLite提供程序很容易在任何CLR语言中实现SQLite UDF。 http://sqlite.phxsoftware.com/ – Tim 2011-09-16 15:44:15

+2

如果你像这个答案中提到的那样映射一个用户定义的函数,它是否保留在sqlite数据库中,或者每次加载数据库时都必须映射它吗? – ThinkBonobo 2014-02-06 15:21:13

+1

好问题。我想你可能不得不重新映射。 – 2014-02-15 15:56:48