![]() |
|
|||
WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
В SQLite объект базы данных (таблица, индекс, триггер или обзор)
определяется названием объекта и названием базы данных, в которой это
находится. Объекты базы данных могут быть
в главной базе данных, базе данных temp или в
присоедиенной.
Синтаксис DROP TABLE,
DROP INDEX,
DROP VIEW,
DROP TRIGGER,
REINDEX,
ALTER TABLE
и многих других команд разрешает определить объект базы данных одним только
его именем, или комбинацией его имени и названия его базы данных.
Если никакая база данных не определяется как часть ссылки на объект, то
SQLite ищет сначала в main, потом в temp, затем по всем приложенным базам
данных в порядке их добавления объект с соответствующим именем.
Ссылка решается к первому найденному совпадению. Например:
Если название схемы определяется как часть ссылки на объект, это должно
быть "main", "temp" или имя схемы приложенной базы данных. Как другие
идентификаторы SQL, названия схемы нечувствительные к регистру. Если название
схемы определяется, то только она проверена на именованный объект.
Большинство ссылок на объект может решить только к определенному типу
объекта (например, ссылка, которая является частью DROP TABLE,
может решиться только к объекту таблицы, но не индексу, триггеру или
представлению). Однако, в некоторых контекстах (например, в
REINDEX)
ссылка на объект может быть решена больше, чем к одному типу объекта.
Просматривая схемы базы данных, объекты типов, которые не могут
использоваться в контексте ссылки, всегда игнорируются.
Choose any three.
/* Add a table named 't1' to the temp, main and an attached database */
ATTACH 'file.db' AS aux;
CREATE TABLE t1(x, y);
CREATE TEMP TABLE t1(x, y);
CREATE TABLE aux.t1(x, y);
DROP TABLE t1; /* Drop table in temp database */
DROP TABLE t1; /* Drop table in main database */
DROP TABLE t1; /* Drop table in aux database */