WHERE employee.dept_no = department.dept_no
Команды SET
Команды SET позволяют просматривать и изменять некоторые вещи, связанные со средой isql. Отдельные из них доступны в скриптах.
SET AUTODDL задает, будут ли операторы DLL подтверждаться автоматически после их выполнения или будут подтверждаться после явного выполнения COMMIT. Оператор доступен в скриптах.
SQL> SET AUTODDL [ON | OFF] ;
/* значение по умолчанию ON */
где ON - включает автоматическое подтверждение. OFF- отключает автоматическое подтверждение.
SET AUTO (без аргументов) просто переключает AUTODDL между включено и выключено.
Пример:
. . .
SQL> SET AUTODDL OFF ;
SQL> CREATE TABLE WIZZO (x integer, у integer) ; SQL> ROLLBACK; /* таблица WIZZO не создана */
. . .
SQL>SET AUTO ON ;
SQL> CREATE TABLE WIZZO (x integer, у integer) ; SQL> /* таблица WIZZO создана */
SET HLOBDISPLAY задает необходимость отображения подтипа BLOB и отображения данных BLOB. Сокращенной версией этой команды является SET BLOB.
SQL> SET BLOBDISPLAY [ n | ALL |OFF ];
n - отображать BLOB заданного подтипа. Значение по умолчанию n = 1 (текст). Положительные числа определены в системе; отрицательные числа определяются пользователем.
ALL - отображать данные BLOB любого подтипа.
OFF- отключает отображение данных BLOB. Вывод показывает только идентификатор BLOB (Blob ID- два шестнадцатеричных числа, разделенных двоеточием). Первое число является идентификатором таблицы, содержащей столбец BLOB. Второе является последовательным номером реализации и идентифицирует данные 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 - отключает отображение плана запроса.
Для сокращения вы можете опускать 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- включает отображение статистики выполнения. Это значение по умолчанию.