RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Small. Fast. Reliable.
Choose any three.

SQLite C Interface

Проверка ключевого слова SQL

int sqlite3_keyword_count(void);
int sqlite3_keyword_name(int,const char**,int*);
int sqlite3_keyword_check(const char*,int);

Это обеспечивает доступ к набору языковых ключевых слов SQL, признанных SQLite. Запросы могут использовать это, чтобы определить, нужно ли экранировать определенный идентификатор (например, в двойных кавычках), чтобы не путать анализатор.

sqlite3_keyword_count() возвращает количество отличных ключевых слов, понятых SQLite.

sqlite3_keyword_name(N,Z,L) находит N-е ключевое слово, делает *Z указателем на то ключевое слово, выраженное как UTF8, и пишет число байтов в ключевом слове в *L. Последовательность *Z не закончена нолем. sqlite3_keyword_name(N,Z,L) вернет SQLITE_OK, если N в границах и SQLITE_ERROR иначе. Если Z или L = NULL или недопустимые указатели, тогда действие sqlite3_keyword_name(N,Z,L) не определено.

sqlite3_keyword_check(Z,L) проверяет, действительно ли L-байтный идентификатор UTF8, на который указывает Z, является ключевым словом, возвращая отличное от нуля значение, если это так, и ноль если нет.

Анализатор, используемый SQLite, прощающий. Часто возможно использовать ключевое слово в качестве идентификатора, поскольку долгое использование как таковое не приводит к двусмысленности парсинга. Например, "CREATE TABLE BEGIN(REPLACE,PRAGMA,END);" принято SQLite и составляет новую таблицу под названием "BEGIN" с тремя колонками "REPLACE", "PRAGMA" и "END". Тем не менее, наиболее успешная практика должна избегать использования ключевых слов как идентификаторов. Общие методы избегать столкновения имени и ключевого слова включают:

  • Поместите все имена идентификатора в двойных кавычках. Это официальный режим SQL избежать имен идентификатора.
  • Вставьте имена идентификатора в [...]. Это не стандартный SQL, но это то, что делает SQL Server и таким образом, много программистов используют эту технику.
  • Начните каждый идентификатор с "Z", поскольку никакие ключевые слова SQL не начинаются с "Z".
  • Включайте цифру где-нибудь в каждое имя идентификатора.

Обратите внимание на то, что количество ключевых слов, понятых SQLite, может зависеть от вариантов времени компиляции. Например, "VACUUM" это не ключевое слово, если SQLite собран с -DSQLITE_OMIT_VACUUM. Кроме того, новые ключевые слова могут быть добавлены к будущим выпускам SQLite.