Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Шрифт:
SQL> SET BLOBDISPLAY [ n | ALL |OFF ];
n - отображать BLOB заданного подтипа. Значение по умолчанию n = 1 (текст). Положительные числа определены в системе; отрицательные числа определяются пользователем.
ALL - отображать данные BLOB любого подтипа.
OFF- отключает отображение данных BLOB. Вывод показывает только идентификатор BLOB (Blob ID- два шестнадцатеричных числа, разделенных двоеточием). Первое число является идентификатором таблицы, содержащей столбец BLOB. Второе является последовательным номером реализации и идентифицирует
Пример:
. . .
SQL> SET BLOBDISPLAY OFF ;
SQL> SELECT PROJ_NAME, PROJ_DESC FROM PROJECT ;
SQL> /* строки показывают значения PROJ_NAME и Blob ID */
. . .
SQL>SET BLOB 1 ;
SQL> SELECT PROJ_NAME, PROJ_DESC FROM PROJECT ;
SQL> /* строки показывают значения PROJ_NAME и Blob_ID, */
SQL> /* а текст BLOB появляется ниже каждой строки */
SET COUNT включает/выключает отображение количества строк, найденных по запросам.
SQL> SET COUNT [ON | OFF] ;
ON- отображать сообщение "найденные строки" (rows returned).
OFF- не отображать сообщение "найденные строки" (rows returned). Значение по умолчанию.
Пример:
SQL> SET COUNT ON ;
SQL> SELECT * FROM WIZZO WHERE FAVEFOOD = 'Pizza' ; SQL> /* отображаются данные */
40 rows returned
SET ECHO включает/выключает отображение команд до их выполнения. Значение по умолчанию ON, но вы можете переключить его в OFF при направлении вашего вывода в файл скрипта.
SQL> SET ECHO [ON | OFF] ; /* значение по умолчанию ON */
ON - включает отображение команд. OFF- отключает отображение команд. Пример скрипта wizzo.sql:
SET ECHO OFF;
= 'Pizza' ; = 'Sardines' ;
SELECT * FROM WIZZO WHERE FAVEFOOD SET ECHO ON ;
SELECT * FROM WIZZO WHERE FAVEFOOD EXIT;
SQL > INPUT wizzo.sql ; WIZTYPE FAVEFOOD
alpha Pizza
epsilon Pizza
SELECT * FROM WIZZO WHERE FAVEFOOD = 'Sardines' ; WIZTYPE FAVEFOOD
gamma Sardines
lamda Sardines
SET NAMES задает набор символов, который будет активным в транзакциях базы данных. Это особенно важно, если в вашей базе данных набором символов по умолчанию является NONE. ЕСЛИ наборы символов клиента и базы данных не соответствуют друг другу, вы рискуете получить ошибки транслитерации и сохранить неверные данные при использовании isql для выполнения изменений, добавлений или поиска данных (включая отыскиваемые изменения и удаления).
Команда SET NAMES доступна в скриптах [147] .
SQL> SET NAMES набор-символов ;
где набор-символов - имя активируемого набора символов. Значение по умолчанию
NONE.
Пример из скрипта:
SET NAMES WIN1251 ;
CONNECT 'HOTCHICKEN:/usr/firebird/examples/employee.gdb' ;
SET PLAN задает, нужно ли отображать
SQL> SET PLAN [ON|OFF ];
ON - включает отображение плана запроса. Это значение по умолчанию. OFF - отключает отображение плана запроса.
147
SET NAMES, то есть набор символов соединения, должен быть задан до подсоединения к базе данных.
Для сокращения вы можете опускать ON | OFF и просто использовать SET PLAN для переключения режима.
Пример из скрипта:
SET PLAN ON ;
SELECT JOB_COUNTRY, MIN_SALARY FROM JOB
WHERE MIN_SALARY > 50000 AND JOB_COONTRY = 'Sweden';
SQL> INPUT iscript.sql
PLAN (JOB INDEX (RDB$FOREIGN3,MINSALX,MAXSALX) JOB COUNTRY MIN SALARY
Sweden 120550.00
SET PLANONLY задает только подготовку запросов SELECT и отображение плана без выполнения самого запроса.
SQL> SET PLANONLY ON | OFF;
Команда работает как переключатель. Аргумент необязателен.
SET SQLDIALECT устанавливает SQL-диалект Firebird в то значение, которое было задано для сессии клиента. Если в сессии открыто соединение с базой данных с диалектом, отличным от того, который задан в команде, будет выдано предупреждение, и программа спросит вас, хотите ли вы подтвердить выполненную работу (если такая была).
SQL> SET SQL DIALECT N ;
где n - номер диалекта, n равен 1 для диалекта 1,2 - для диалекта 2 и 3 - для диалекта 3.
Пример:
SQL> SET SQL DIALECT 3 ;
SET STATS определяет, отображать ли статистику выполнения, которая будет следовать за выходными данными запроса.
SQL> SET STATS [ON|OFF];
ON - включает отображение статистики выполнения.
OFF- включает отображение статистики выполнения. Это значение по умолчанию.
Вы можете опускать ON | OFF и просто использовать SET STATS в качестве переключателя. На рис. 37.6 показан типичный статистический итог, отображаемый после выходных данных запроса.
Рис. 37.6. Пример SET STATS
SET STATISTICS
SET STATISTICS является командой SQL (не isql), которую вы можете использовать в isql - так же, как и в других программах - для вычисления селективности индек- са. Здесь об этом упоминается, потому что, неудивительно, люди часто путают ее с SET STATS. Чтобы узнать, почему селективность является важной для очень динамичных таблиц, см. разд. "Темы оптимизации" в конце главы 18.
Синтаксис этой команды SET STATISTICS имя-индекса. Оператор может быть выполнен только пользователем, который владеет индексом.