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

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

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

INSERT IN AIRCRAFT (OID, REGISTRATION)

VALUES(1033, 'ECHIDNA');


Когда Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ это Π΄Π΅Π»Π°Ρ‚ΡŒ? Π’ Firebird ΡƒΠ΄ΠΈΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ часто. ΠŸΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ структур главная-подчинСнная Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° для Π³Π»Π°Π²Π½ΠΎΠΉ строки ΠΈΠ· Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ строка Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π° Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, простым Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ DSQL:

SELECT GEN_ID(YOURGENERATOR, 1) FROM RDB$DATABASE;

Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π²Π½Π΅ управлСния Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ, ΠΈ Ссли Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ€, Ρ‚ΠΎ ΠΎΠ½ ваш. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для столбцов внСшнСго ΠΊΠ»ΡŽΡ‡Π° ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½Ρ‹Ρ… строк Π² клиСнтских Π±ΡƒΡ„Π΅Ρ€Π°Ρ…, Ссли Π²Ρ‹ ΠΈΡ… создали, Π±Π΅Π· сохранСния Π³Π»Π°Π²Π½ΠΎΠΉ строки Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ€Π΅ΡˆΠΈΠ» ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ дСйствия, Ρ‚ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ "Π°Π½Π½ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ" Π½Π° сСрвСрС. Если Π²Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΡΡ‚Π°Ρ€Π°Π»ΠΈΡΡŒ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ возмоТности Π² Π‘Π£Π‘Π”, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π°Π²Ρ‚ΠΎΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ "ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ" Ρ‚ΠΈΠΏ, Π²Ρ‹ ΠΏΠΎΠ»ΡŽΠ±ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ аспСкты этой Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ см. Π² Π³Π»Π°Π²Π΅ 31.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ UPDATE

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ UPDATE ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для измСнСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ столбцов Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… строках Ρ‚Π°Π±Π»ΠΈΡ†. Он ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· Π½Π°Π±ΠΎΡ€Ρ‹ курсора ΠΈ измСняСмыС просмотры. SQL Π½Π΅ позволяСт ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ UPDATE ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ строкам Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†.

ΠžΠ±ΡΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅ просмотров, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ измСнСния для Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… Π² ΠΈΡ… основС Ρ‚Π°Π±Π»ΠΈΡ†, см. Π² Π³Π»Π°Π²Π΅ 24. Запрос UPDATE, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ измСняСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ строку курсора, называСтся ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ. Запрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ мноТСство строк, называСтся поисковым ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ.

ΠŸΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² сравнСнии с поисковыми

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ UPDATE ΠΈ DELETE ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ (Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π°Π΄ ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΉ строкой) ΠΈ поисковыми (Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π°Π΄ Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ ΠΈΠ»ΠΈ большим количСством строк). Π‘Ρ‚Ρ€ΠΎΠ³ΠΎ говоря, ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² контСкстС Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с курсором, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ поисковоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ условиями поиска Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ WHERE, появляСтся Π²ΠΎ всСх Π΄Ρ€ΡƒΠ³ΠΈΡ… контСкстах.

МногиС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ интСрфСйсов ΡΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ измСнСния ΠΈ удалСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ поисковоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ с ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ WHERE, ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΌ строку. Π’Π°ΠΊΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ классы Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ "Π±ΡƒΡ„Π΅Ρ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки", ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΈΠ»ΠΈ связан со столбцом ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡŽΡ‡Π° Ρ‚ΠΎΠΉ строки, которая Π±Ρ‹Π»Π° Π²Ρ‹Π±Ρ€Π°Π½Π° Π·Π°Π΄Π°Ρ‡Π΅ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π³ΠΎΡ‚ΠΎΠ² ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ запрос Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅, ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ конструируСт поисковый ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ INSERT ΠΈΠ»ΠΈ DELETE, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΎΠ΄Π½Ρƒ строку Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ (ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ список столбцов) Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ WHERE.


! ! !

Π’ΠΠ˜ΠœΠΠΠ˜Π•! He всС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΡΡ‚ΠΎΠ»ΡŒ "ΡΠΎΠΎΠ±Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹", Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ² строк Π² "ΠΆΠΈΠ²Ρ‹Ρ…" Π±ΡƒΡ„Π΅Ρ€Π°Ρ…. Π’ Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Ρ… Π·Π°Π΄Π°Ρ‡Π΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° являСтся ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ»ΠΈ Π½Π°ΠΉΡ‚ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ способ Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡ‚ Π½Π΅ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ измСнСния мноТСства строк.

. ! .


ИспользованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° UPDATE

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ UPDATE ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ:


UPDATE имя-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ | имя-просмотра

SET имя-столбца = Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ [,имя-столбца = Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ...]

[WHERE <условиС-поиска> | WHERE CURRENT OF имя-курсора]


ΠŸΡ€ΠΈ поисковых измСнСниях, Ссли Π½Π΅ Π·Π°Π΄Π°Π½ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ WHERE, Ρ‚ΠΎ измСнСния Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.


ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ SET

Бинтаксис прСдлоТСния SET:

SET имя-столбца = Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ [, имя-столбца = Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ...]

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ SET прСдставляСт собой список, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ измСняСмый столбСц вмСстС с Π½ΠΎΠ²Ρ‹ΠΌ присваиваСмым Π΅ΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. НовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ столбца ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ. Если столбСц допускаСт пустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΅ΠΌΡƒ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ присвоСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ NULL.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ:

* константой ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, SET COLUMNB = '99'). Если для столбца ΡƒΠΊΠ°Π·Π°Π½ Π½Π°Π±ΠΎΡ€ символов, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΡ‚ Π½Π°Π±ΠΎΡ€Π° символов соСдинСния, Ρ‚ΠΎ Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΎ Π² этот ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ символов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ дСскриптора Π½Π°Π±ΠΎΡ€Π° символов слСва ΠΎΡ‚ константы. ДСскриптор Π½Π°Π±ΠΎΡ€Π° символов являСтся ΠΈΠΌΠ΅Π½Π΅ΠΌ Π½Π°Π±ΠΎΡ€Π° символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ начинаСтся с символа подчСркивания, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

SET COLUMNY = _ISO8859_1 'fricassee'

* ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ столбца Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π΅, прСдставлСнным с ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, SET COLUMNB = COLUMNX Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ столбца COLUMNB Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ столбца COLUMNX. ΠŸΡ€ΠΈ нСобходимости ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован дСскриптор Π½Π°Π±ΠΎΡ€Π° символов (см. Ρ€Π°Π½Π΅Π΅);

* Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ. НапримСр, SET REVIEW_DATE = REVIEW_DATE + 14 измСняСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ столбца Π΄Π°Ρ‚Ρ‹ Π½Π° Π΄Π²Π΅ Π½Π΅Π΄Π΅Π»ΠΈ ΠΏΠΎΠ·ΠΆΠ΅, Ρ‡Π΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ выраТСниях см. Π³Π»Π°Π²Ρƒ 21;

* контСкстной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ сСрвСра (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, SET DATE_CHANGED = CURRENT_DATE). ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ описаны Π² Π³Π»Π°Π²Π΅ 8;

* символом-Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅Π»Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ синтаксису, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ Π² ΠΊΠΎΠ΄Π΅ прилоТСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Delphi SET LAST_NAME = :LAST_NAME Π˜Π›Π˜, для Π΄Ρ€ΡƒΠ³ΠΈΡ… интСрфСйсов ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, SET LAST_NAME = ?);


* Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (UDF). НапримСр, SET BCOLUMN = OPPER(ACOLUMN) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ SQL-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ UPPER для прСобразования значСния столбца ACOLUMN Π² Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ рСгистр ΠΈ сохранСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π² BCOLUMN. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± использовании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ см. Π² Π³Π»Π°Π²Π΅ 21.

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ COLLATE ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΏΡ€ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… столбцов (Π½ΠΎ Π½Π΅ BLOB). для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π½Π°Π±ΠΎΡ€ΠΎΠ² символов ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ использованиС ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сортировки ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (двоичная) ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ UPPER(). НапримСр, Ссли ACOLUMN ΠΈ BCOLUMN описаны с Π½Π°Π±ΠΎΡ€ΠΎΠΌ символов ISO8859_1 ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ испанский язык, Ρ‚ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ SET Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

SET BCOLUMN = UPPER (ACOLUMN) COLLATION ES_ES

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Π½Π°Π±ΠΎΡ€Π°Ρ… символах ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΡ… сортировки см. Π³Π»Π°Π²Ρƒ 11.


ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Π‘ΡƒΠ΄ΡŒΡ‚Π΅ остороТны ΠΏΡ€ΠΈ "ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ" Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ столбцами. Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°


. . .

SET COLUMNA = COLUMNB


ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² столбцС COLUMNA Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π·Π°ΠΌΠ΅Π½Π΅Π½ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ столбца COLUMNB. Если Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ сдСлаСтС


SET COLUMNB = COLUMNA


Ρ‚ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ староС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ столбца COLUMNA Π±Ρ‹Π»ΠΎ потСряно, значСния столбцов COLUMNB ΠΈ COLUMNA останутся Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.

Для ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Ρ‚Ρ€Π΅Ρ‚ΠΈΠΉ столбСц, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ "ΠΏΠ°Ρ€ΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ" Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· COLUMNA, ΠΏΠΎΠΊΠ° Π²Ρ‹ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ столбцу


COLUMNB:

. . .

SET

COLUMNC = COLUMNA,

COLUMNA = COLUMNB, COLUMNB = COLUMNC

. . .


Π’ SET Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ выраТСния, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π΄Π²ΡƒΡ… Ρ†Π΅Π»Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ использованиС арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ двумя значСниями. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ COLUMNA равняСтся 10, a COLUMNB 9:


. . .

SET

COLUMNB = COLUMNB + COLUMNA, /* COLUMNB Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ 19 */

COLUMNA = COLUMNB - COLUMNA, /* COLUMNA Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ 9 */

COLUMNB = COLUMNB - COLUMNA /* COLUMNB Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ 10 */

. . .


ВсСгда провСряйтС ваши прСдполоТСния ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ!


ИзмСнСниС столбцов BLOB

ИзмСнСниС столбцов BLOB фактичСски ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ замСняСт староС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ BLOB Π½Π° Π½ΠΎΠ²ΠΎΠ΅. Π‘Ρ‚Π°Ρ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ BLOB ID ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ замСняСтся. Π’Π°ΠΊΠΆΠ΅:

* Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ BLOB ΠΏΡƒΡ‚Π΅ΠΌ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ BLOB ΠΈΠ»ΠΈ строки с ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ BLOB;

* Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ тСкстового BLOB ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСно с использованиСм строки Π² качСствС Π²Π²ΠΎΠ΄Π°. НапримСр, MEMO Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ являСтся тСкстовым BLOB:


UPDATE ATABLE

SET MEMO = 'Friends, Romans, countrymen, lend me your ears: I come not to bury Caesar, but to praise him.';


! ! !

Π’ΠΠ˜ΠœΠΠΠ˜Π•! ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ хотя столбцы BLOB Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌ, строковыС Ρ‚ΠΈΠΏΡ‹ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ 32 765 Π±Π°ΠΉΡ‚Π°ΠΌΠΈ (VARCHAR) ΠΈΠ»ΠΈ 32 767 Π±Π°ΠΉΡ‚Π°ΠΌΠΈ (CHAR) - это Π±Π°ΠΉΡ‚Ρ‹, Π° Π½Π΅ символы. Π£Ρ‡Ρ‚ΠΈΡ‚Π΅ это ΠΏΡ€ΠΈ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ±Π°ΠΉΡ‚ΠΎΠ²Ρ‹Ρ… Π½Π°Π±ΠΎΡ€ΠΎΠ² символов.

. ! .


ИзмСнСниС столбцов массивов

Π’ прилоТСниях со встроСнным SQL (ESQL) ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скомпилированныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ SQL, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ массивов для измСнСния (Π·Π°ΠΌΠ΅Π½Ρ‹) ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… массивах.

НС сущСствуСт возмоТности ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ столбцы массивов Π² DSQL. Для измСнСния массивов Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² ΠΊΠΎΠ΄Π΅ прилоТСния ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ API isc_array_put_slice.


Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для столбцов

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ DEFAULT Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² UPDATE.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ DELETE

Запрос DELETE ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для удалСния Ρ†Π΅Π»Ρ‹Ρ… строк Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. SQL Π½Π΅ Π΄Π°Π΅Ρ‚ возмоТности ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρƒ DELETE ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ строки Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Запрос DELETE, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ измСняСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ строку курсора, называСтся ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ DELETE ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΎΠ±Ρ‰ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ:


DELETE FROM имя-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

[WHERE <ΠΏΡ€Π΅Π΄ΠΈΠΊΠ°Ρ‚Ρ‹-поиска>

| WHERE CURRENT OF имя-курсора]


Если Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ WHERE, Ρ‚ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ всС строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ EXECUTE

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ EXECUTE доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ESQL. Он ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² прилоТСниях со встроСнным SQL для выполнСния ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ динамичСского ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° SQL. Π’ этом Π΅Π³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² DML Π² ESQL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скомпилированными ΠΈ поэтому Π½Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π²ΠΎ врСмя выполнСния.