МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів
Контакти
Тлумачний словник Авто Автоматизація Архітектура Астрономія Аудит Біологія Будівництво Бухгалтерія Винахідництво Виробництво Військова справа Генетика Географія Геологія Господарство Держава Дім Екологія Економетрика Економіка Електроніка Журналістика та ЗМІ Зв'язок Іноземні мови Інформатика Історія Комп'ютери Креслення Кулінарія Культура Лексикологія Література Логіка Маркетинг Математика Машинобудування Медицина Менеджмент Метали і Зварювання Механіка Мистецтво Музика Населення Освіта Охорона безпеки життя Охорона Праці Педагогіка Політика Право Програмування Промисловість Психологія Радіо Регилия Соціологія Спорт Стандартизація Технології Торгівля Туризм Фізика Фізіологія Філософія Фінанси Хімія Юриспунденкция |
|
|||||||||||||||||
Збережені процедури.Лекція 5. Скасування прав. Привласнення прав.
Мова SQL дозволяє привласнити групі користувачів певні права на деякий об'єкт. Права можуть бути наступними:
Права на конкретний об'єкт привласнюються оператором GRANT.
GRANT SELECT ON Employee TO PUBLIC
У цьому прикладі використається ключове слово PUBLIC для привласнення всім користувачам права SELECT на таблицю Employee. Можна також в одному операторі привласнити кілька прав декільком користувачам. Однак привласнити права на кілька об'єктів за допомогою одного оператора не можна.
GRANT SELECT, INSERT ON Employee TO Bob, Doug
Права UPDATE і REFERENCES можуть поширюватися на окремі стовпці. У наступному прикладі користувачам Bob і Doug дозволено змінювати тільки стовпці Salary і Dept.
GRANT UPDATE (Salary, Dept) ON Employee TO Bob, Doug Права на об'єкти бази даних можна скасувати за допомогою оператора REVOKE, що має синтаксис, аналогічний операторові GRANT. Наприклад, якщо для присвоєння прав використовувався оператор
GRANT SELECT ON Royalties TO Ed, Alex, Michael, Dave
те скасувати права користувача на таблицю Royalties можна за допомогою наступного оператора:
REVOKE SELECT ON Royalties FROM Dave
У деяких СУБД в операторі REVOKE можна використовувати модифікатори CASCADE і RESTRICT. Якщо ви хочете скасувати права користувача на деяку таблицю, то має сенс скасувати його права на всі представлення, що вимагають доступу до всієї таблиці (CASCADE). А от модифікатор RESTRICT не дозволяє скасувати право доступу, що потрібно відповідно до інших прав, привласненим даному користувачеві.
Збережені процедури. 17 Оператор IF. 18 Операторні дужки BEGIN...END. 18 Цикл WHILE. 19 Оператор CASE. 20 Збережені процедури - це процеси, виконання яких відбувається безпосередньо на сервері баз даних. Всі збережені процедури в базі даних перебувають у спеціально відведеному списку Stored Procedures. При цьому в колонці Type біля імені процедур може знаходитися ключове слово System, що вказує приналежність даної процедури до групи системних процедур. З іншого боку, всі процедури, створювані користувачем, позначаються ключовим словом User у колонці Type. Створимо просту процедуру, що дозволяє збільшити на одиницю значення поля COURS таблиці PREDMET. Дана дія може бути корисною при переводі всіх студентів на наступний курс навчання.
CREATE PROCEDURE NEW_COURS AS UPDATE PREDMET SET COURS = COURS + 1
Щоб перевірити працездатність створеної процедури, варто запустити утиліту SQL Query Analyzer, підключитися до необхідного сервера баз даних, після чого ввести наступні SQL команди:
EXEC NEW_COURS SELECT * FROM PREDMET
За допомогою SQL команди EXEC здійснюється запуск збережених процедур, причому весь процес їхнього виконання відбувається на самому комп'ютері - сервері. Використання збережених процедур істотно відбивається на продуктивності комп'ютерів робочих станцій. Інакше кажучи, дана технологія дозволяє використати комп'ютери робочих станцій на рівні клавіатурного введення, а всі основні завдання при цьому перекладаються на комп'ютер - сервер. Наступний приклад використання збережених процедур буде використовувати в процесі роботи передані параметри. Завданням процедури буде індексування стипендій на певний відсоток для заданих сум. Інакше кажучи, необхідно створити процедуру, що збільшить значення стипендії на певний відсоток при вказівці суми, для якої буде зроблена дана індексація.
CREATE PROCEDURE IND_STIP_KF (@KF_INDEX REAL, @FOR_SUM SMALLMONEY) AS UPDATE STUDENTS SET STIP = STIP * @KF_INDEX WHERE STIP = @FOR_SUM
Кожна змінна всередині збереженої процедури описується в такий спосіб:
@ім'я_змінної тип_даних
Якщо в процедуру передається кілька параметрів, то вони вказуються через кому в дужках після її імені. Перевіримо роботу даної процедури на прикладі. Із цією метою здійснимо її запуск для наступного випадку: необхідно встановити 20% надбавку до стипендії студентам, у яких сума стипендії рівняється 25.50.
EXEC IND_STIP_KF @KF_INDEX = 1.2, @FOR_SUM = 25.5 SELECT * FROM STUDENTS Читайте також:
|
||||||||||||||||||
|