Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Firebird Π Π£ΠšΠžΠ’ΠžΠ”Π‘Π’Π’Πž Π ΠΠ—Π ΠΠ‘ΠžΠ’Π§Π˜ΠšΠ БАЗ ДАННЫΠ₯Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 174

Автор Π₯Π΅Π»Π΅Π½ Π‘ΠΎΡ€Ρ€ΠΈ

SQL> SHOW {TRIGGERS | TRIGGER имя } ;

SHOW TRIGGERS - ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ список ΠΈΠΌΠ΅Π½ всСх Ρ‚Π°Π±Π»ΠΈΡ† вмСстС с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΈΡ… Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ² Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС.

SHOW TRIGGER имя- для Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π° ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°, статус активности ΠΈ исходный ΠΊΠΎΠ΄ PSQL Ρ‚Π΅Π»Π° Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:


SQL> SHOW TRIGGERS ;

Table name Trigger name

========== ==========

EMPLOYEE SET_EMP_NO

EMPLOYEE SAVE_SALARY_CHANGE

CUSTOMER SET_CUST_NO

SALES PQST_NEW_ORDER

SQL> SHOW TRIG SET_CUST_NO ;

Trigger:

SET_CUST_NO, Sequence: 0, Type: BEFORE INSERT, Active

AS

BEGIN

new.custno = gen_id (cust_no_gen, 1);

END


SHOW VERSION ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ вСрсии isql ΠΈ сСрвСрной ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Firebird, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½ΠΎΠΌΠ΅Ρ€ структуры Π½Π° дискС (ODS) ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘ΠΎΠΊΡ€Π°Ρ‰Π΅Π½Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ SHOW VER.

SQL> SHOW VERSION ;

Команда Π½Π΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².


ΠŸΡ€ΠΈΠΌΠ΅Ρ€ для сСрвСра с ΠΈΠΌΠ΅Π½Π΅ΠΌ dev с Π·Π°ΠΏΡƒΡˆΠ΅Π½Π½Ρ‹ΠΌ Firebird 1.5 ΠΏΠΎΠ΄ Windows 2000:

SQL> SHOW VER ; -

ISQL Version: WI-V1.5.0.4306 Firebird 1.5 Firebird/x86/Windows NT (access method), version "WI-V1.5.0.4306 Firebird 1.5" Firebird/x86/Windows NT (remote server), version "WI-V1.5.0.4306 Firebird 1.5/tcp (dev)/P10" Firebird/x86/Windows NT (remote interface), version "WI-V1.5.0.4306 Firebird 1.5/tcp (dev)/Π 10" on disk structure version 10.1

SHOW VXEW[S] ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ всС просмотры ΠΈΠ»ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ просмотрС. (Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅ SHOW TABLES.)

SQL> SHOW { VIEWS | VIEW имя } ;

SHOW VIEWS - ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ список ΠΈΠΌΠ΅Π½ всСх просмотров Π² Π°Π»Ρ„Π°Π²ΠΈΡ‚Π½ΠΎΠΌ порядкС.

SHOW VIEW ИМЯ- ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π° столбцов ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ SELECT, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ основан просмотр.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


SQL> SHOW VIEWS ;

PHONE_LIST CUSTOMER

. . .

SQL> SHOW VIEW PHONE_LIST;

EMP_NO (EMPNO) SMALLINT Not Null

FIRST_NAME (FIRSTNAME) VARCHAR(15) Not Null

LAST_NAME (LASTNAME) VARCHAR(20) Not Null

PHONE_EXT VARCHAR(4) Nullable

LOCATION VARCHAR(15) Nullable

PHONE_NO (PHONENUMBER) VARCHAR(20) Nullable

View Source:

=============

SELECT

emp_no, first_name, last_name, phone_ext, location, phone_no FROM employee, department

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- Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ статистики выполнСния. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ON | OFF ΠΈ просто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ SET STATS Π² качСствС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ. На рис. 37.6 ΠΏΠΎΠΊΠ°Π·Π°Π½ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ статистичСский ΠΈΡ‚ΠΎΠ³, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΉ послС Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… запроса.


Рис. 37.6. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ SET STATS


SET STATISTICS

SET STATISTICS являСтся ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ SQL (Π½Π΅ isql), ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² isql - Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… - для вычислСния сСлСктивности ΠΈΠ½Π΄Π΅ΠΊ- са. Π—Π΄Π΅ΡΡŒ ΠΎΠ± этом упоминаСтся, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ, Π½Π΅ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, люди часто ΠΏΡƒΡ‚Π°ΡŽΡ‚ Π΅Π΅ с SET STATS. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΡΠ΅Π»Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ являСтся Π²Π°ΠΆΠ½ΠΎΠΉ для ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†, см. Ρ€Π°Π·Π΄. "Π’Π΅ΠΌΡ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ" Π² ΠΊΠΎΠ½Ρ†Π΅ Π³Π»Π°Π²Ρ‹ 18.

Бинтаксис этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ SET STATISTICS имя-индСкса. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π»Π°Π΄Π΅Π΅Ρ‚ индСксом.

SET TERM Π·Π°Π΄Π°Π΅Ρ‚ символ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² качСствС Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°. Он доступСн Π² скриптах. Π‘ΠΌ. замСчания ΠΎΠ± этой ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ€Π°Π½Π΅Π΅ Π² Π΄Π°Π½Π½ΠΎΠΉ Π³Π»Π°Π²Π΅.

SQL> SET TERM строка ;

Π³Π΄Π΅ строка- символ ΠΈΠ»ΠΈ символы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Ρ‚ΠΎΡ€ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ";".

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

SET TERM ^^;

CREATE PROCEDURE ADD_WIZTYPE (WIZTYPE VARCHAR (16) , FAVEFOOD VARCHAR ( 20) ) AS

BEGIN

INSERT INTO WIZZO(WIZTYPE, FAVEFOOD) VALUES ( :WIZTYPE, :FAVEFOOD) ; END ^

SET TERM ;^

SET TIME Π·Π°Π΄Π°Π΅Ρ‚, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π»ΠΈ врСмя Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ DATE (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ 1).

SQL> SET TIME [ON|OFF ];

ON - Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ DATE Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚Π° 1.

OFF- ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ DATE Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚Π° 1. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:


SQL> SELECT HIRE_DATE FROM EMPLOYEE WHERE EMP_NO = 145; HIRE_DATE

16-MAY-2004

SQL>SET TIME ON ;

SQL> SELECT HIRE_DATE FROM EMPLOYEE WHERE EMP_NO = 145; HIRE DATE

16-MAY-2004 18:20:00


SET WARNINGS Π·Π°Π΄Π°Π΅Ρ‚, Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π»ΠΈ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅ сообщСния. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ SET WNG ΠΊΠ°ΠΊ простой ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ.

SQL> SET WARNINGS [ON |OFF ];

ON- Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ, Ссли ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹, ΠΈΠ»ΠΈ Ссли сСссия Π±Ρ‹Π»Π° Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° с ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΌ -nowamings.

OFF- ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠΉ, Ссли ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹.

Π’Ρ‹Ρ…ΠΎΠ΄ ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ сСссии isql

Для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ isql ΠΈ ΠΎΡ‚ΠΊΠ°Ρ‚Π° (roll back) всСй Π½Π΅ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π²Π΅Π΄ΠΈΡ‚Π΅:

SQL> QUIT;

Для Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ isql ΠΈ подтвСрТдСния всСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π²Π΅Π΄ΠΈΡ‚Π΅:

SQL> EXIT;

ΠšΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ

Π₯отя isql ΠΈΠΌΠ΅Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ возмоТности, ΠΎΠ½Π° Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ этим Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ. МногиС ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ доступны Ρ‚Π°ΠΊΠΆΠ΅ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. НСкоторыС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ isql, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· ΠΎΠΊΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ Π²Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ- фактичСски Π²Ρ‹Π·ΠΎΠ² isql с ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡΠΌΠΈ -i[nput] ΠΈ -o[utput] Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ°.