SQLite是否支持存储过程

Cra*_*zyC 11 sqlite stored-procedures

我正在根据我的要求评估SQLite数据库.SQLIte是否支持商店程序?如果是,那么有什么限制?SLIte是否支持该范围?谢谢Saurabh

Mat*_*hen 14

不,不是的.请参阅主站点上的适用于SQLite的用途.


Ton*_*gan 9

将proc存储在数据库中的一个关键原因是您在与SQL引擎相同的进程中执行SP代码.这对于设计用作网络连接服务的数据库引擎是有意义的,但SQLite的必要性要小得多.鉴于它在当前进程中作为DLL运行,因此在客户端语言中实现SP更有意义.

但是,您可以使用主机语言(PHP,Python,Perl,C#,Javascript,Ruby等)中自己的用户定义函数扩展SQLite .我在C#中使用DevArt的SQLite来实现密码散列.


小智 8

如果您真的想在数据库中存储SQL代码(例如当您想要开发跨平台应用程序时),您可以创建一个特定的表来存储执行该操作的原始SQL命令,然后在客户端中获取SQL命令(例如var myString = db.CreateCommand(" 从tablewithsqlcommands中选择SqlColumn,其中Procname = theprocedureIwant "). ExecuteScalar();)然后在第二步执行它(var myResult = db.CreateCommand(myString).whatever_execution_method_you_need();)