![]() |
|
|||
WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Это обеспечивает доступ к набору языковых ключевых слов 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".
Тем не менее, наиболее успешная практика должна избегать использования
ключевых слов как идентификаторов.
Общие методы избегать столкновения имени и ключевого слова включают:
Обратите внимание на то, что количество ключевых слов, понятых
SQLite, может зависеть от вариантов времени компиляции.
Например, "VACUUM" это не ключевое слово, если SQLite собран с
-DSQLITE_OMIT_VACUUM.
Кроме того, новые ключевые слова могут быть добавлены к
будущим выпускам SQLite.
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);