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

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

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

* ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ, прСдоставлСнныС для PUBLIC, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Π½Π΅Π½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ FROM PUBLIC.

ИспользованиС REVOKE

Π£ΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ синтаксис для REVOKE внСшнС отличаСтся ΠΎΡ‚ синтаксиса GRANT. ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ВО <ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŒ> замСняСтся Π½Π° FROM <ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŒ?.

REVOKE <ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ>

ON <ΠΎΠ±ΡŠΠ΅ΠΊΡ‚>

FROM <ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŒ> ;

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ отмСняСт ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡŽ SELECT К Ρ‚Π°Π±Π»ΠΈΡ†Π΅ DEPARTMENT Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ KILROY, Ссли ΠΎΠ½ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π΅Π΅ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ GRANT SELECT:

REVOKE SELECT ON DEPARTMENT FROM KILROY;

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ отмСняСт ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡŽ UPDATE К Ρ‚Π°Π±Π»ΠΈΡ†Π΅ CUSTOMER для ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

COUNT_BEANS:

REVOKE UPDATE ON CUSTOMER FROM PROCEDURE COUNT_BEANS;

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ удаляСт ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡŽ EXECUTE, которая Π±Ρ‹Π»Π° прСдоставлСна ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ COUNT_BEANS К ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ ABANDON_OLD:

REVOKE EXECUTE ON PROCEDURE ABANDON_OLD FROM PROCEDURE COUNT_BEANS;


Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ мноТСства ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ

Для удалСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ…, Π½ΠΎ Π½Π΅ всСх ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, прСдоставлСнных ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅, пСрСчислитС удаляСмыС ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ, ΠΎΡ‚Π΄Π΅Π»ΠΈΠ² ΠΈΡ… Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° запятыми. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ удаляСт ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ INSERT ΠΈ UPDATE ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ DEPARTMENT Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ SERENA:

REVOKE INSERT, UPDATE ON DEPARTMENT FROM SERENA;

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ удаляСт Π΄Π²Π΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ CUSTOMER Ρƒ Ρ…Ρ€Π°Π½ΠΈΠΌΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ COUNT_BEANS:

REVOKE INSERT, DELETE

ON CUSTOMER

FROM PROCEDURE COUNT_BEANS;

Π›ΡŽΠ±Π°Ρ комбинация Ρ€Π°Π½Π΅Π΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ SELECT, INSERT, UPDATE, DELETE ΠΈΠ»ΠΈ REFERENCES ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΌΠ΅Π½Π΅Π½Π° Π½Π°Π·Π½Π°Ρ‡ΠΈΠ²ΡˆΠΈΠΌ эти ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ, Π½Π΅Π²Π°ΠΆΠ½ΠΎ, Π±Ρ‹Π»ΠΈ Π»ΠΈ ΠΎΠ½ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ, Π² спискС ΠΈΠ»ΠΈ с использованиСм ALL.

Как ΠΈ Π² случаС GRANT, ΠΎΡ‚ΠΌΠ΅Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ REVOKE ALL ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ SELECT, INSERT, UPDATE, DELETE ΠΈ REFERENCES Π² ΠΎΠ΄Π½ΠΎΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. Π”Π°Π½Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ любоС ΠΈΠ· этих Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ.

НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ всС ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ доступа ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅

DEPARTMENTS Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ MAGPIE:

REVOKE ALL ON DEPARTMENTS FROM MAGPIE;

Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ всСх ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² ALL, ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π½Π΅ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ REVOKE ALL ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ особСнно ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ, Ссли Π²Ρ‹ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ. НСт нСобходимости Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ устранСния всСх ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ, доступных ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρƒ REVOKE ALL Π΅ΡΡ‚ΡŒ ограничСния Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ способСн ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.


Π§Π΅Π³ΠΎ Π½Π΅ отмСняСт REVOKE ALL

REVOKE ALL Π½Π΅ отмСняСт:

* ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ, наслСдуСмыС вмСстС с Ρ€ΠΎΠ»ΡŒΡŽ;

* ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ PUBLIC;

* ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ EXECUTE.


ΠžΡ‚ΠΌΠ΅Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ EXECUTE

Бинтаксис ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ EXECUTE ΠΊ Ρ…Ρ€Π°Π½ΠΈΠΌΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅:

REVOKE EXECUTE

ON PROCEDURE <имя-ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹>

FROM <ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŒ> [, <ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŒ> [, ...]]

| [TRIGGER <имя-Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°> [, <имя-Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°> [,...]]

[PROCEDURE <имя-ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹> [, <имя-ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹> [, ...]]

[VIEW <имя-просмотра> [, VIEW <имя-просмотра> [, ...]];

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ удаляСт ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡŽ EXECUTE Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ HPOTTER ΠΊ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ COUNT_CHICKENS:

REVOKE EXECUTE ON PROCEDURE COUNT_CHICKENS FROM HPOTTER;

ΠžΡ‚ΠΌΠ΅Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ Ρƒ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ рассмотрим ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ FROM ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° REVOKE, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ.


Бписок ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ запятыми список ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ Ρƒ мноТСства ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π΅. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ удаляСт ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ INSERT ΠΈ UPDATE ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ DEPARTMENTS Ρƒ Ρ‚Ρ€ΠΎΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·:

REVOKE INSERT, UPDATE

ON DEPARTMENTS

FROM MAGPIE, BRUNHILDE, KILROY;


Роль

ΠžΡ‚ΠΌΠ΅Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, прСдоставлСнных Ρ€ΠΎΠ»ΠΈ, отмСняСт эти ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Ρƒ всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ… эту Ρ€ΠΎΠ»ΡŒ Π² качСствС ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ:

REVOKE UPDATE

ON DEPARTMENT

FROM CARTEBLANCHE;

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±Ρ‹Π»Π° Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Ρ€ΠΎΠ»ΡŒ CARTEBLANCHE, большС Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ UPDATE ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ DEPARTMENT, Π½ΠΎ Ρƒ Π½ΠΈΡ… ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ (SELECT, INSERT, DELETE, REFERENCES, EXECUTE), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚

CARTEBLANCHE.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ Ρƒ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ€ΠΎΠ»Π΅ΠΉ:

REVOKE DELETE, INSERT

ON DEPARTMENT

FROM CARTEBLANCHE, MAITRE_D;


Роль ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

ΠžΡ‚ΠΌΠ΅Π½Π° Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… Ρ€ΠΎΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ отмСняСт Ρƒ этих ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ всС полномочия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ с этой Ρ€ΠΎΠ»ΡŒΡŽ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ REVOKE для удалСния Ρ€ΠΎΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Π½Π°Π·Π½Π°Ρ‡Π°Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ отмСняСт Ρ€ΠΎΠ»ΡŒ

CARTEBLANCHE Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ KILROY:

REVOKE CARTEBLANCHE FROM KILROY;

KILROY большС Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ доступа, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π΅Π³ΠΎ члСнства Π² этой Ρ€ΠΎΠ»ΠΈ. Однако это Π½Π΅ ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ влияния Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ эти ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· члСнство Π² Π΄Π°Π½Π½ΠΎΠΉ Ρ€ΠΎΠ»ΠΈ.


ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹

Для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ Ρƒ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ² ΠΈΠ»ΠΈ просмотров Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово (PROCEDURE, TRIGGER, VIEW) ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡŽ Ρƒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π·Π°Π΄Π°Π² Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ запятыми список ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π’ этом случаС просто Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ список с ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова Ρ‚ΠΈΠΏΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ удаляСт ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ INSERT ΠΈ UPDATE К Ρ‚Π°Π±Π»ΠΈΡ†Π΅ CUSTOMER для Π΄Π²ΡƒΡ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ ΠΈ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°:

REVOKE INSERT, UPDATE

ON CUSTOMER

FROM PROCEDURE COUNT_CHICKENS, ABANDON_OLD

TRIGGER AI_SALES ;


ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ PUBLIC

Для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ всС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ PUBLIC, просто Ρ‚Ρ€Π°ΠΊΡ‚ΡƒΠΉΡ‚Π΅ PUBLIC, ΠΊΠ°ΠΊ ΠΈ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ отмСняСт полномочия INSERT ΠΈ DELETE К Ρ‚Π°Π±Π»ΠΈΡ†Π΅ DEPARTMENT Ρƒ всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ:

REVOKE SELECT, INSERT, UPDATE

ON DEPARTMENT

FROM PUBLIC;

ПослС выполнСния этого ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ INSERT ΠΈ DELETE К Ρ‚Π°Π±Π»ΠΈΡ†Π΅ DEPARTMENT ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ Ρƒ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° этой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ SYSDBA, Ρ€Π°Π²Π½ΠΎ ΠΊΠ°ΠΊ ΠΈ Ρƒ ΠΈΠΌΠ΅Π²ΡˆΠΈΡ… эти ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, просмотров ΠΈ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠ². ΠžΡ‚ΠΌΠ΅Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ Ρƒ PUBLIC Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ ΡƒΠ±ΠΈΡ€Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΈΡ… ΠΊΠ°ΠΊ собствСнныС ΠΏΡ€Π°Π²Π°.

ΠžΡ‚ΠΌΠ΅Π½Π° ΠΏΡ€Π°Π²Π° ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ

Для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΏΡ€Π°Π²Π° Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡŽ, Π½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρƒ Π½Π΅Π³ΠΎ эту ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ REVOKE GRANT OPTION:

REVOKE GRANT OPTION

FOR <привилСгия> [, <привилСгия> [,...]]

ON <Ρ‚Π°Π±Π»ΠΈΡ†Π°> | <ΠΎΠ±ΡŠΠ΅ΠΊΡ‚>

FROM <ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ> ;

НапримСр, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ отмСняСт ΠΏΡ€Π°Π²ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡŽ SELECT ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ DEPARTMENT Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ HPOTTER ΠΈ сохраняСт Ρƒ Π½Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡŽ SELECT:

REVOKE GRANT OPTION

FOR SELECT

ON DEPARTMENT

FROM HPOTTER;

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этого ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ каскадным ΠΎΡ‚ΠΌΠ΅Π½Π°ΠΌ Ρƒ всСх Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ эту ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡŽ ΠΎΡ‚ HPOTTER.


Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ бСзопасности

Если Π²Ρ‹ Π΄ΠΎ сих ΠΏΠΎΡ€ Π·Π°Π΄Π΅Ρ€ΠΆΠ°Π»ΠΈΡΡŒ Π½Π° этой Π³Π»Π°Π²Π΅, Π½Π΅Ρ‚ сомнСний, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ, Ρ‡Ρ‚ΠΎ рСализация ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ SQL Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π½Π°Π±ΠΎΡ€Π° большого объСма тСкста. Π§Ρ‚ΠΎ ΠΆ, Π²Ρ‹ ΠΏΡ€Π°Π²Ρ‹. Π’ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΌΡ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для выполнСния этой Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠœΡ‹ пишСм скрипты - ΠΈΠ»ΠΈ, ΠΈΠ½Π°Ρ‡Π΅, ΠΌΡ‹ пишСм Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΈΡˆΡƒΡ‚ для нас скрипты.

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ссли ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΡƒΡŽ схСму ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ мноТСство скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ Ρ€ΠΎΠ»ΠΈ ΠΈ ΠΎΠ±Ρ‰ΠΈΠ΅ полномочия. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ написанный скрипт ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ EXECUTE, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ для этого довольно слоТно ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ.

Π‘ появлСниСм Π² Firebird 1.5 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° EXECUTE PROCEDURE, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π½Π°ΠΌ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π² Firebird выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² DDL Π² PSQL, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΠΎΠ²ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ прямо Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠΌΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ прСдставлСн Π² листингС 35.2 Π΄Π°Π»Π΅Π΅ Π² этой Π³Π»Π°Π²Π΅.

БущСствуСт мноТСство инструмСнтов с графичСским интСрфСйсом для Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ΠΈΡ… Π»ΡŽΠ±ΠΈΡ‚. Π£ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π΅ΡΡ‚ΡŒ срСдства, автоматичСски Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ скрипты бСзопасности; Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ полномочия Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для вас.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ скрипта

Автор ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ скрипт бСзопасности. Он ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ протСстирован ΠΈ Π°Π½Π½ΠΎΡ‚ΠΈΡ€ΠΎΠ²Π°Π½, ΠΎΠ½ являСтся Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ, Π½ΡƒΠΆΠ½Ρ‹ΠΌ для контроля качСства, ΠΈ Π΄Π°ΡŽΡ‰ΠΈΠΌ основу для распространСния Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ скрипта прСдставлСн Π² листингС 35.1.

Для скрипта ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ внСшний Ρ„Π°ΠΉΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ скрипт - инструкции ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ см. Π² Π³Π»Π°Π²Π΅ 16, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ содСрТатся Π² Π³Π»Π°Π²Π΅ 30. Однако ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° PERMSCRIPT, описанная здСсь, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° для выполнСния Π² isql ΠΈ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΅Π΅ Π²Ρ‹Ρ…ΠΎΠ΄Π° Π² тСкстовый Ρ„Π°ΠΉΠ».

Листинг 35.1. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ скрипта ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡ‡ΠΈΠΉ


/* (с) Helen Borrie 2004, free for use and inodxfication

under the Initial Developer's Public License */

SET TERM ^

CREATE PROCEDURE PERMSCRIPT(

CMD VARCHAR (6) ,/* Π²Π²Π΅Π΄ΠΈΡ‚Π΅ 'G' or 'R' */

PRIV CHAR (10) , /* привилСгия ΠΈΠ»ΠΈ 'ALL' ΠΈΠ»ΠΈ 'ANY' */

USR VARCHAR(31), /* имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ */

ROLENAME VARCHAR(31), /* Ρ€ΠΎΠ»ΡŒ, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ ΠΈΠ»ΠΈ Π½Π΅Ρ‚ */

GRANTOPT SMALLINT,

/* 1 для 'WITH GRANT[ADMIN] OPTION' */

CREATE ROLE SMALLINT) /* 1 для создания Π½ΠΎΠ²ΠΎΠΉ Ρ€ΠΎΠ»ΠΈ ROLENAME */

RETURNS (PERM VARCHAR(80)) /* тСорСтичСский ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ полномочия */

AS

DECLARE VARIABLE RELNAME VARCHAR (31); /* для ΠΈΠΌΠ΅Π½ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΠ»ΠΈ просмотра */

DECLARE VARIABLE STRING VARCHAR(80) = ''; /* ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ */

DECLARE VARIABLE STUB VARCHAR(60) = ''; /* ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ */

DECLARE VARIABLE VUSR VARCHAR(31) ; /* имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ для 'TO' ΠΈΠ»ΠΈ 'FROM' */

DECLARE VARIABLE COMMENTS CHAR(20) = '/* */';

BEGIN

/* НСобходимо для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса */