SQLite: выберите для обновления ждать 10 совместимости - PullRequest
1 голос
/ 24 сентября 2010

SQLite не поддерживает и не принимает такой запрос:

выберите * из mytable, где col = 'val' для ожидания обновления 10;

Знаете ли вы, есть ли способзаставьте SQLite молча пропустить часть «для обновления ждут 10» и, таким образом, избежать ошибок синтаксического анализа.Моя цель - заставить команды Oracle SQL едва работать с SQLite без необходимости вручную редактировать операторы SQL.

Ответы [ 2 ]

0 голосов
/ 25 сентября 2010

Вы не можете обновить базу данных sqlite, когда другой поток или процесс читает, и вы не можете читать, когда другой поток или процесс пишет, поэтому поведение блокировки отличается от того, которое обеспечивает Oracle.

Sqlite блокирует всю базу данных, а не только запись или выборку записей. Я думаю, вам нужно проверить много запросов.

0 голосов
/ 24 сентября 2010

Я думаю, что вам, возможно, придется редактировать исходный код SQLite, лимонный парсер.

Нет такой встроенной вещи. Вы можете заблокировать базы данных, используя

BEGIN [IMMEDIATE|EXCLUSIVE|DEFERRED] TRANSACTION

Подробнее см. на этой странице

...