Читаем Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ полностью

<p>Продолжение строки подсказки</p>

Если вы нажмете клавишу , забыв завершить оператор терминатором, вы увидите продолжение подсказки CON> вместо подсказки isql SQL>:

SQL> SHOW DATABASE

CON>

Если это было ошибкой, просто наберите терминатор и опять нажмите клавишу . Причем вы можете использовать эту возможность, чтобы сделать ваш текст более читаемым, например:

SQL> CREATE TABLE ATABLE (

CON> ID INTEGER NOT NOLL,

CON> DATA VARCHAR(20),

CON> DATE_ENTERED DATE

CON> DEFAULT CURRENT_DATE

CON> );

SQL>

! ! !

СОВЕТ. Одна из причин применения возможности продолжения - это то, что вы можете использовать команду OUTPUT для помещения введенного вами в isql текста в файл. Поскольку вывод сохраняется точно в таком же виде, как вы вводите данные, все ваши пробельные отступы будут сохранены. Многие пользователи Firebird используют isql в качестве единственного редактора скриптов!

. ! .

<p>Транзакции в isql</p>

Управление транзакциями в isql отличается в зависимости от того, вводите ли вы оператор DDL, команду SHOW или другие виды операторов.

Когда isql стартует, она запускает транзакцию с уровнем изоляции SNAPSHOT (параллельный) с установкой разрешения блокировок WAIT. Если вы выполняете не операторы DDL и не команды SHOW, транзакция продолжает оставаться текущей, пока вы не выдадите оператор COMMIT или ROLLBACK.

Вы можете стартовать явную транзакцию, подтвердив текущую транзакцию, и выдав оператор SET TRANSACTION. Например, для старта транзакции READ COMMITTED NO WAIT введите:

SQL> COMMIT;

SQL> SET TRANSACTION

CON> NO WAIT READ COMMITTED;

При завершении вашей задачи просто выдайте как обычно оператор COMMIT. Следующий оператор вернет систему в конфигурацию по умолчанию.

Операторы DDL

Каждый раз, когда вы выдаете оператор DDL, isql стартует для него специальную транзакцию и немедленно ее подтверждает после того, как вы нажимаете клавишу . Сразу после этого стартует новая транзакция. Вы можете изменить автоматическое поведение, выдав команду SET AUTODDL OFF из подсказки SQL до начала выполнения ваших операторов DDL:

SQL> SET AUTODDL OFF;

Чтобы опять включить режим автоматического подтверждения операторов DDL, введите:

SQL> SET AUTODDL ON;

Для переключения между режимами включено/выключено существует сокращенная версия команды:

SQL> SET AUTO;

Команды SHOW

Команды SHOW в isql запрашивают данные из системных таблиц. Когда вы вызываете команду SHOW, isql подтверждает существующую транзакцию и стартует новую с уровнем изоляции READ COMMITTED. Это гарантирует, что вы всегда видите самые последние изменения метаданных, как только они будут изменены.

<p>Поиск в буфере строк</p>

Начиная с версии 1.5 и выше, isql позволяет вам отыскивать строки в буфере способом, похожим на возможность readiine на платформах POSIX. Используйте клавиши <Т> (стрелка вверх) и (стрелка вниз) для "прокручивания" буфера isql по одной строке за раз для поиска копий строк, которые вы вводили ранее.

<p>Использование предупреждений</p>

По умолчанию isql выдает предупреждения при некоторых условиях, например:

* операторы, не выполняющие действий;

* двусмысленная спецификация соединений в Firebird 1.0.x (в версии 1.5 и выше это вызовет исключение);

* выражения, которые дадут различные результаты в различных версиях Firebird;

* вызовы API, которые будут изменены в будущих версиях;

* когда база данных переведена в состояние SHUTDOWN.

Для переключения режима выдачи предупреждений в процессе выполнения сессии интерактивной isql используйте SET WARNINGS или сокращенный вариант SET WNG.

<p>Обработка исключений</p>

Ошибки в isql обрабатываются тем же образом, что и приложении DSQL. isql отображает сообщение об ошибке, содержащее переменную SQLCODE и текст сообщения из массива состояния Firebird, как показано на рис. 37.4.

Рис. 37.4. Пример сообщения об ошибке в isql

Ошибки SQL со значением SQLCODE меньше нуля означают, что оператор не был выполнен. Все они представлены в приложении 10. Вы можете также увидеть одно из предупреждений SQL или информационное сообщение, а именно:

* 0: SUCCESS (успешное выполнение);

* +1-99-. SQLWARNING (системное предупреждение или информационное сообщение);

* +100 NOT FOUND (указывает, что указанные строки не найдены или достигнут "конец файла"; т. е. определен конец текущего активного набора строк).

<p>Установка в isql диалекта</p>

Если вы запустили isql и соединились с базой данных без указания диалекта, утилита принимает диалект базы данных.

Вы можете установить диалект для isql несколькими способами.

Перейти на страницу:

Похожие книги

Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript
Adobe Flash. Создание аркад, головоломок и других игр с помощью ActionScript

Данная книга посвящена программированию игр с помощью ActionScript. Здесь вы найдете подробные указания, необходимые для создания самых разных игр – аркад, головоломок, загадок и даже игровых автоматов. В тексте приведены исходные коды программ и детальные, доступно изложенные инструкции. Базовые принципы программирования ActionScript рассматриваются на примере игр, однако вы без труда сможете применить полученные знания и для разработки неигровых проектов, таких как Web-дизайн и реклама. Рекомендации Гэри Розенцвейга помогут вам не только придумывать занимательные игры и размещать их на Web-сайте, но и оптимизировать скорость их работы, а также защищать свои творения от несанкционированного копирования. Представленный в книге код несложно изменить для использования в других программах.Книга предназначена для широкого круга читателей – создателей анимационных роликов, художников-оформителей, программистов и разработчиков Web-сайтов. Издание может также выступать в качестве практического пособия по изучению ActionScript.

Гэри Розенцвейг

Программирование, программы, базы данных / Программирование / Книги по IT
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ

Эта книга представляет собой перевод третьего издания американского бестселлера Effective C++ и является руководством по грамотному использованию языка C++. Она поможет сделать ваши программы более понятными, простыми в сопровождении и эффективными. Помимо материала, описывающего общую стратегию проектирования, книга включает в себя главы по программированию с применением шаблонов и по управлению ресурсами, а также множество советов, которые позволят усовершенствовать ваши программы и сделать работу более интересной и творческой. Книга также включает новый материал по принципам обработки исключений, паттернам проектирования и библиотечным средствам.Издание ориентировано на программистов, знакомых с основами C++ и имеющих навыки его практического применения.

Скотт Майерс , Скотт Мейерс

Программирование, программы, базы данных / Программирование / Книги по IT