Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Збережені процедури.

Лекція 5.

Скасування прав.

Привласнення прав.

 

Мова SQL дозволяє привласнити групі користувачів певні права на деякий об'єкт. Права можуть бути наступними:

 

SELECT Дозволяє запитувати дані.
INSERT Дозволяє додавати нові рядки.
DELETE Дозволяє видаляти рядки.
UPDATE Дозволяє змінювати існуючі рядки.
REFERENCES Це правило потрібно в тому випадку, якщо користувач намагається модифікувати таблицю, що має обмеження цілісності посилань, які вказують на стовпці іншої таблиці.

 

Права на конкретний об'єкт привласнюються оператором 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


Читайте також:

  1. Динаміка площі лісових культур та їхня збереженість
  2. Доцільність діагностичної процедури.
  3. Захист прав боржника і кредиторів через судові процедури.
  4. Захист прав боржника і кредиторів через судові процедури.
  5. Захист прав боржника і кредиторів через судові процедури.
  6. Захист прав боржника і кредиторів через судові процедури.
  7. Методичні прийоми та контрольно-ревізійні процедури.
  8. Особливості укладення договорів в будівництві. Тендерні процедури.
  9. Охарактеризуємо основні судові процедури.
  10. Процедури.
  11. Сучасні тенденції в засто­суванні мита як метода регулювання зовнішньої торгівлі. Митні платежі. Митні процедури.




Переглядів: 837

<== попередня сторінка | наступна сторінка ==>
Поняття про тригери в системі SQL Server. | Цикл WHILE.

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.004 сек.