Posobie_triggery és eljárások (MS SQL szerver)

Posobie_triggery és eljárások (MS SQL szerver)

Petrozavodsk Állami Egyetem Alkalmazott Matematika és kibernetika

2. eljárás fogalma

Az eljárás egy olyan program nyelvén írják a belső adatbázis tárolja az adatbázisban, mint külön tárgyat. Az ilyen eljárások általánosan elterjedt neve tárolva kapcsolódik. Eljárások oka lehet az alkalmazási program. Végzett eljárások az adatbázis szerveren. Eljárások tartalmazhat paraméterek és visszatérési értékek, beleértve a hibaüzeneteket.







A használatának előnyei eljárások:

- központosított ellenőrzés az adatokhoz való hozzáférés;

- alkalmazások hívhatjuk olyan eljárás, amely csökkenti a írásakor programok a módosítási eljárás, ami minden programok kap egy új kódot, a kód optimalizálása;

- csökkenti a hálózati forgalmat a „kliens-szerver” rendszerek továbbítása csak az eljárás nevét és paramétereit helyett adatcsere, és az eljárást végzik a szerveren;

- elrejti a felhasználó számos tulajdonságát egy adott adatbázis eszköz, amely nagyobb függetlenséget adatok;

- több adatbiztonságra felhasználó joga, hogy hívja

eljárással, de nem kezelik az adatokat, amelyeket az ezen eljárással okozott; Hátránya: a szabványok hiánya a végrehajtási eljárások.

Összefoglaló előadások fegyelem „adatbázisok” (eljárások és triggerek)

Posobie_triggery és eljárások (MS SQL szerver)

Petrozavodsk Állami Egyetem Alkalmazott Matematika és kibernetika

3 Team munkafolyamatokat MS SQL Server

CREATE ELJÁRÁS <имя процедуры>

[@<имя параметра> <тип данных> [OUTPUT]. ]

[DECLARE @<имя переменной> <тип данных>. ] BEGIN

A nevét az összes változót MS SQL Server kell kezdeni írni

DROP ELJÁRÁS <имя процедуры>

Eljárás számít a beiratkozott hallgatók száma a karon, mely az azonosítója bemeneti paraméter @id eljárás, és visszaadja az értéket @total_sum paramétert.

Készítsen eljárási prStudentsOfFaculty @id int, int @total_sum kimenet AS

Set @total_sum = 0







Set @total_sum = (select count (*) a tblStudent, tblGroup Ahol (tblStudent.GroupId = tblGroup.GroupId) és (tblGroup.FacultyId = @id)) End

Összefoglaló előadások fegyelem „adatbázisok” (eljárások és triggerek)

Posobie_triggery és eljárások (MS SQL szerver)

Petrozavodsk Állami Egyetem Alkalmazott Matematika és kibernetika

4. A koncepció a ravaszt

Trigger (általában) van rögzítve az asztalra, és automatikusan úgynevezett adatbázis-kezelő rendszer, amely végrehajt egy frissítési műveletet az asztalon (hozzáadni, törölni, módosítani rekordok a táblázatban).

Jellemzői végrehajtását kiváltó MS SQL Server

MS SQL Server:

- a kiváltó válthatják vagy a műtét után, vagy helyett a műveletet;

- trigger hívják egyszer az összes rekordot az asztal, amelyen a műveletet kell elvégezni;

- következésképpen módosítható bejegyzés alatt két automatikusan generált, amikor a hívást indító táblák:

o beszúrva táblázat - tartalmazza a módosított vagy hozzáadott táblázatát;

o Törölve asztal - bejegyzéseket tartalmaz, hogy a változások vagy törölt rekordot asztal;

- a kiváltó test meghatározott műveletek beírása, csak táblázat

- a kiváltó test meghatározott művelet törlése, csak táblázat

- a kiváltó szervezet számára meghatározott Update művelet mindkét tábla áll rendelkezésre

Egészül ki, és hagyni

- egy és ugyanazon esemény lehet létrehozni tetszőleges számú kiváltó, hívják őket véletlenszerűen (esetleg sorrendjében létrehozása).

Összefoglaló előadások fegyelem „adatbázisok” (eljárások és triggerek)

Petrozavodsk Állami Egyetem Alkalmazott Matematika és kibernetika

Kiviteli alakjai a ravaszt 6

Korlátozása tartomány: diák ösztöndíj nem lehet magasabb, több mint 5% -kal az előző engedélyt.

CREATE TRIGGER tgrStudentGrantUpdate

ON tblStudent UTÁN UPDATE

DECLARE @Grant_old úszó, @Grant_new úszó, @Id int;

Válassza @Grant_old = Grant törölve

Válassza @Grant_new = Grant, @Id = Tanulóazonosító származó Inserted

IF (@Grant_new - @Grant_old> 0,05 * @Grant_old)

UPDATE tblStudent SET Grant = 1,05 * @Grant_old

AHOL Tanulóazonosító = @Id

Trigger tgrStudentGrantUpdate tblStudent létre az asztalon. A trigger akkor aktiválódik, miután az adatok változása művelet.

@Grant_old (REAL típus) kell tárolni régi ösztöndíjas, @Grant_new (REAL típus) tárolja az új hallgatói ösztöndíj, @Id (integer típus) tárolására diákigazolvány, három helyi definiált változók ravaszt.

Amikor egy hívás ravaszt DBMS létrehoz két asztal: Törölve tartalmazó módosított rekordokat, amíg meg nem változtatja, és ki, amely tartalmazza a módosított bejegyzéseket a változás után.

A szervezetben a ravaszt az első helyen, a törölt tábla lekéri az értéket a hallgatói ösztöndíjak, hogy a változások, hogy van. E. A régi ösztöndíjat, majd Inserted asztal lekéri az értéket a hallgatói ösztöndíjak módosítások utáni t. E. Egy új ösztöndíjat. Együtt a extrakciójával egy új ösztöndíjat Inserted táblázat szerint extraháljuk az azonosítót és a tanuló. diákigazolvány ugyanolyan sikerrel lehet távolítani az asztalról törölt.

Továbbá, a test egy kiváltó feltétel ellenőrzése az ösztöndíj összegét változásokat. Ha az ösztöndíj változása nagyobb, mint 5%, akkor a ravaszt módosítja adatok - növeli az ösztöndíj csak 5% -kal, az előző érték hallgatói ösztöndíj. Ez úgy történik, hogy hívja az Update művelet a táblázatban a megfelelő tblStudent diák.

Összefoglaló előadások fegyelem „adatbázisok” (eljárások és triggerek)




Kapcsolódó cikkek