SET DATABASE
Описание
SET DATABASE объявляет метку (handle) для определенной базы данных и сопоставляет метку с этой базой данных. Это позволяет факультативную спецификацию of different compile-time and run-time databases. Приложения, которые имеют доступ нескольким базам данных одновременно, должны использовать инструкцию SET DATEBASE, чтобы установить различные метки для каждой базы данных.
dbhandle - определенное приложением имя для метки базы данных. Обычно, имена меток это сокращения фактического имени базы данных. Однажды объявленные, метки баз данных могут быть использованы в последующих инструкциях CONNECT, COMMIT и ROLLBACK. Они так же могут быть использованы внутри транзакций, чтобы различать имена таблиц, когда две или более присоединенных баз данных содержат таблицы с одинаковыми именами.
"<dbname>" это зависящая от платформы спецификация файла, чтобы сопоставить с dbhandle. Она должна соответствовать соглашениям об именах файлов для сервера, на котором база данных расположена.
GLOBAL, STATIC и EXTERN - факультативные параметры, которые определяют контекст объявления базы данных. Контекст по умолчанию GLOBAL делает метку базы данных доступной, для всех модулей кода в приложении. STATIC ограничивает доступность метки базы данных модулем кода, в котором метка объявлена. EXTERN ссылается на глобальную метку в другом модуле.
Факультативные параметры COMPILETIME и RUNTIME дают возможность метке бызы данных ссылаться на одну базу данных, когда приложение is preprocessed, и на другую базу данных, когда приложение выполняется пользователем. Если опущено или определено только COMPILETIME, InterBase использует одну и туже базу данных в течении preprocessing и время выполнения.
Параметры USER и PASSWORD необходимы для всех PC клиентских приложений, но факультативны для всех удаленных вложений. Имя пользователя и пароль проверены сервером в базе данных защиты, прежде разрешения удаленных вложений.
Эта инструкция может быть использована в SQL.
Синтаксис
SET {DATABASE | SCHEMA} dbhandle = [GLOBAL | STATIC | EXTERN] [COMPILETIME] [FILENAME] "<dbname>" [USER "<name>" PASSWORD "<string>"] [RUNTIME [FILENAME] {"<dbname>" | :var} [USER {"<name>" | :var} PASSWORD {"<string>" | :var}]];
Аргумент | Описание |
---|---|
|
|
dbhandle |
Псевдоним для определенной базы данных. Псевдоним должен быть уникален внутри программы. Он используется в последующих инструкциях SQL, которые поддерживают метки баз данных. |
GLOBAL |
По умолчанию. Делает эту декларацию базы данных доступной во всех модулях. |
STATIC |
Ограничивает контекст этой декларации базы данных текущим модулем. |
EXTERN |
Ссылается на декларацию базы данных в другом модуле, вместо объявления новой метки. |
COMPILETIME |
Идентифицирует базу данных, которая использует просмотр ссылок столбцов во время preprocessing. Если определена только одна база данных в SET DATABASE, она используется и во время исполнения и во время компиляции. |
"<dbname>" |
Расположение и полный путь базы данных сопоставленной с dbname. |
RUNTIME |
Определяет отличную базу данных, чтобы использовать во время исполнения, вместо определенной для использования во время preprocessing. |
|
|
|
Примеры
Следующая внедренная инструкция SQL объявляет метку для базы данных:
EXEC SQL SET DATABASE DB1 = "employee.gdb";
Следующая внедренная инструкция SQL объявляет различные базы данных для время компиляции и времени исполнения. Она использует host-language переменную, чтобы определить определенную базу данных времени исполнения.
EXEC SQL SET DATABASE EMDBP = "employee.gdb" RUNTIME :db_name;