Использ-ие операторов условия в хр. процед.
-CREATE PROCEDURE STIP_IND @K_SNUM INT, @K_PNUM INT, @K_STIP DECIMAL (5,2) AS IF EXISTS (SELECT SNUM,PNUM FROM USP WHERE SNUM=@k_snum AND pnum=@k_pnum) UPDATE STUDENTS SET STIP=@K_stip WHERE SNUM=@K_SNUM
-EXEC STIP_IND 3412, 2005/2;
-EXEC STIP_IND 3412, 2001/2;
Использ-ие локальных переменных в хр. процед.
Лок-ые перем-ые описываются в теле процедуры после слова DECLARE, правила описания перем. аналогичны.
CREATE PROCEDURE IZM AS
DECLARE @K_SNUM INT
SELECT @K_SNUM=MAX(SNUM)FROM STUDENTS INSERT INTO STUDENTS (SNUM)VALUES (@K_SNUM+1);
Процедура м. содержать команду INSERT для заполнения новой таблицы, например EX_PR(с полями SFAM,STIP,OCENKA,PNAM), а также саму программу создания таблицы CREATE.
CREATE PROCEDURE STUD_MIN AS INSERT INTO EX+PR SELECT STUDENTS.SFAM,STUDENTS.STIP,USP.OCENKA, PREDMET.PNAM FROM STUDENTS,USP,PREDMET WHERE STUDENTS.SNUM=USP.SNUM AND USP.OCENKA=3 AND USP.PNUM=PREDMET.PNUM
1.Хран. проц. создают пользователи, имеющие наивысший уровень доступа к данным.
2.Одно и тоже действие м.б. разделено между несколькими пользователями БД независимо от исполняемого приложения, что повышает надежность системы.
3.Снижается время разработки системы т.к. нет необх-ти копировать ф-ии хранимых процедур на клиенте.
4.Снижается сетевой трафик обмена данными.
25.Представления реляционных баз данных.
Представление – хранимые запросы к БД,имеют вид обычной таблицы и ведут себя как таблицы. Гл. отличие не содержат физич. данных. Таблицы, на основе кот. строятся представления назыв-ся базовыми. Представления использ-ся:
-для объедиения для объединения данных, хранящихся в нескольких таблицах с целью их представления в удобном для польз-ля виде
-для разграничения доступа в инф-ии, т.к. с помощью представления м. разрешить доступ только к части данных, хранящихся в БД.
Создание представлений:
CREATE VIEW <ИМЯ ПРЕДСТАВЛЕНИЯ>AS <ЗАПРОС>[WITH CHECK OPTION];
ПР:CREATE VIEW NOWS AS SELECT*FROM STUDENTS WHERE STIP=57.50;
CREATE VIEW NO_STIP AS SELECT SNUM,SFAM, SNAM FROM STUDENTS; SELECT*FROM NO_STIP;
Изменение представлений:
UPDATE <ИМЯ ПРЕДСТАВЛЕНИЯ>SET<ВЫРАЖ-ИЕ>;
Удаление представлений:
DROP VIEW<ИМЯ ПРЕДС-ИЯ>
Опция WITH CHECK OPTION примен-ся тогда, когда необх-мо гарантировать что все применяемые опции (UPDATE,INSERT,DELETED) удовлетворяют указанным представл. услов. иначе оператор возвратит ошибку.
CREATE VIEW NOWS AS SELECT*FROM STUDENTS WHERE STIP=57.50 WITH CHECK OPTION
Для того, чтобы представление м.б. изменить необходимо:
1.в представ-ии не д. присутствовать предикат DISTING
2.представл-ие д.б. создано на основе только одной таблицы
3.предст-ие не д. содержать GROUP BY
4.-//-подзапросов
5.-//-//-//-агрегатных и итоговых ф-ий
Опция WITH CHECK OPTION примен-ся тогда, когда необх-мо гарантировать что все применяемые опции (UPDATE,INSERT,DELETED) удовлетворяют указанным представл. услов. иначе оператор возвратит ошибку.
CREATE VIEW NOWS AS SELECT*FROM STUDENTS WHERE STIP=57.50 WITH CHECK OPTION
Для того, чтобы представление м.б. изменить необходимо:
1.в представ-ии не д. присутствовать предикат DISTING
2.представл-ие д.б. создано на основе только одной таблицы
3.предст-ие не д. содержать GROUP BY
4.-//-подзапросов
5.-//-//-//-агрегатных и итоговых ф-ий
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.