SQLite支持存储过程吗?

oxcyiej7  于 2023-01-26  发布在  SQLite
关注(0)|答案(3)|浏览(187)

我正在评估SQLite数据库是否符合我的要求。SQLite支持存储过程吗?
如果是,那么有什么限制?SQLite是否支持该范围?

sbdsn5lh

sbdsn5lh1#

不,它不是。请参阅主站点上的Appropriate Uses For SQLite

8wtpewkr

8wtpewkr2#

在数据库中存储procs的一个关键原因是,您在与SQL引擎相同的进程中执行SP代码。这对于设计为作为网络连接服务工作的数据库引擎来说是有意义的,但SQLite的必要性要小得多。鉴于它在当前进程中作为DLL运行,因此在客户端语言中实现SP更有意义。
但是,您可以使用您自己的主机语言(PHP、Python、Perl、C#、JavascriptRuby等)中的user defined functions扩展SQLite。

laawzig2

laawzig23#

如果你真的想在数据库中存储SQL代码(例如当你想开发跨平台应用程序时),你可以创建一个特定的表来存储执行该操作的原始SQL命令,然后在客户端中获取SQL命令。

var myString = db.CreateCommand("SELECT SqlColumn FROM tablewithsqlcommands WHERE Procname=theprocedureIwant").ExecuteScalar();

然后在第二步中执行

var myResult = db.CreateCommand(myString).whatever_execution_method_you_need();

相关问题