Работа с несколькими базами данных

Adobe AIR 1.0 и более поздних версий

При помощи метода SQLConnection.attach() можно открыть подключение к дополнительной базе данных, применив его к экземпляру SQLConnection , который уже имеет открытую базу данных. Добавленной базе данных можно присвоить имя при помощи параметра name в вызове метода attach() . При создании инструкций для выполнения операций над этой базой данных можно использовать это имя в префиксе (в форме database-name.table-name ) для квалификации имен таблиц в инструкциях SQL, показывая среде выполнения, что эту таблицу можно найти в указанной базе данных.

Можно выполнить одну инструкцию SQL, в которую включены таблицы из нескольких баз данных, подключенных к одному и тому же экземпляру SQLConnection. Если транзакция создана с использованием экземпляра SQLConnection, эта транзакция применяется ко всем инструкциям SQL, выполняемым с использованием этого экземпляра SQLConnection. Это правило действует независимо от того, в отношении какой из добавленных баз данных выполняется инструкция.

Вместо этого можно создать несколько экземпляров SQLConnection в приложении, каждый из которых будет подключен к одной или к нескольким базам данных. Однако при использовании нескольких подключений к одной и той же базе данных следует иметь в виду, что транзакция базы данных не является общей для экземпляров SQLConnection. Следовательно, при подключении к одной базе данных нескольких экземпляров SQLConnection нельзя рассчитывать на то, что изменения данных обоих подключений будут применены необходимым образом. Например, если две инструкции UPDATE или DELETE выполняются в отношении одной базы данных с использованием различных экземпляров SQLConnection, и во время первой операции возникает ошибка приложения, данные базы данных могут остаться в необратимом промежуточном состоянии, что может нарушить целостность базы данных (и, следовательно, приложения).