![]() |
|
|||
WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Эта хранимая процедура обеспечивает средство определить базу данных,
таблицу и столбец таблицы, который является происхождением конкретного
столбца результата в SELECT.
Название базы данных, таблицы или колонки может быть возвращено как UTF-8 или
как последовательность UTF-16. _database_ возвращает имя базы данных,
_table_ возвращает имя таблицы и origin_ возвращает имя столбца.
Возвращаемая строка действительна, пока
подготовленный запрос не уничтожен, используя
sqlite3_finalize()
или пока запрос автоматически не подготовлен повторно первым запросом
sqlite3_step() для конкретного выполнения
или пока та же самая информация не запрошена снова в ином кодировании. Возвращенные имена являются оригинальными
названиями базы данных, таблицы и колонки. Первый аргумент это подготовленный запрос.
Эти функции возвращают информацию об N-м столбце результата, возвращенном
запросом, где N это второй аргумент функции.
Крайний левый столбец это колонка 0. Если столбец N, возвращенный запросом, является выражением или подзапросом
и не является значением столбца, то все эти функции возвращают NULL.
Это могло бы также возвратить NULL, если ошибка распределения памяти
происходит. Иначе они возвращают название приложенной базы данных, таблицы
или колонки, из которой была извлечена колонка результата запроса. Как со всеми другими API SQLite, конец имен которых "16",
возвращают строку в UTF-16, другие функции, возвращают UTF-8. Это API доступно только, если библиотека была собрана с символом
C-препроцессора
SQLITE_ENABLE_COLUMN_METADATA. Если два или больше потока вызывают один или несколько
интерфейсов метаданных колонки
для того же самого подготовленного запроса
и столбца результата в то же время, результаты не определены.
Я
Choose any three.
SQLite C Interface
Источник данных в результате запроса
const char *sqlite3_column_database_name(sqlite3_stmt*,int);
const void *sqlite3_column_database_name16(sqlite3_stmt*,int);
const char *sqlite3_column_table_name(sqlite3_stmt*,int);
const void *sqlite3_column_table_name16(sqlite3_stmt*,int);
const char *sqlite3_column_origin_name(sqlite3_stmt*,int);
const void *sqlite3_column_origin_name16(sqlite3_stmt*,int);