Поддерживает ли SQLite процедуры хранения? - PullRequest
11 голосов
/ 04 августа 2010

Я оцениваю базу данных SQLite для моего требования.SQLIte поддерживает процедуры хранения?Если да, то каковы ограничения?SLIte поддерживает диапазон?Спасибо Саурабх

Ответы [ 3 ]

14 голосов
/ 04 августа 2010

Нет, это не так. См. Соответствующее использование для SQLite на главном сайте.

9 голосов
/ 26 июня 2014

Ключевой причиной хранения процедур в базе данных является то, что вы выполняете код SP в том же процессе, что и механизм SQL. Это имеет смысл для механизмов баз данных, предназначенных для работы в качестве службы, подключенной к сети, но императив для SQLite гораздо меньше. Учитывая, что он работает как DLL в вашем текущем процессе, имеет смысл реализовать SP на языке клиента.

Однако вы можете расширить SQLite с помощью собственных пользовательских функций на языке хоста (PHP, Python, Perl, C #, Javascript , Ruby и т. Д.) , Я сделал это в C # , используя SQLite DevArt для реализации хеширования пароля.

8 голосов
/ 13 февраля 2014

Если вы действительно хотите хранить код SQL в БД (например, когда вы хотите разрабатывать кроссплатформенные приложения), вы можете создать специальную таблицу, в которой будут храниться необработанные команды SQL, которые делают это, а затем на клиенте вы получить команду SQL (например, var myString = db.CreateCommand (" выбрать SqlColumn из таблицwithsqlcommands, где Procname = theprocedureIwant "). ExecuteScalar (); ) и затем выполнить ее на втором этапе ( var myResult = db.CreateCommand (myString) .whwhat_execution_method_you_need (); )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...