2010-08-04 3 views
7

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

+1

Возможный дубликат [Создание хранимой процедуры и SQLite?] (Http://stackoverflow.com/questions/3335162/creating-stored-procedure-and-sqlite) –

ответ

13

Нет, это не так. См. Appropriate Uses For SQLite на главном сайте.

+0

Спасибо, любая другая база данных, которая поддерживает процедуры хранения? Я ищу в базе данных процесса. означает, где нет необходимости в какой-либо конфигурации, просто скопируйте этот файл и используйте его. – CrazyC

7

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

4

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

Вы можете расширить SQLite с помощью собственного user defined functions на главном языке (PHP, Python, Perl, C#, Javascript, Ruby и т. Д.). У меня есть done this in C# с использованием DevArt's SQLite для реализации хэширования паролей.

Смежные вопросы