Hogyan hozzunk létre egy ravaszt-SQL, programozás kezdőknek

Szokás kezdés egy kis elmélet, tudjuk, mi a ravaszt, és amit csinál. Ie Adunk a meghatározása a ravaszt, és úgy kinevezését az adatbázisban.

Meghatározása és célja a ravaszt

Trigger - az adatbázisban tárolt eljárás egy gyakori, de ez nem okozott a felhasználó, és egy esemény, hogy előfordulhat az adatbázisban. Ezek az események lehetnek, és hogyan viszonyulnak a táblákat és a megtekintés:

  • INSERT - hozzá rekordokat az asztalra;
  • Törlés - feljegyzések a táblázatban;
  • UPDATE - update A táblázat rekordjait.

A definíció érteni, most lássuk, mik ezek a ravaszt. És kell csak egy célból, a végrehajtás további intézkedések előtt vagy azt követően, hogy az SQL utasítást, amely a fent említett eseményeket. Magától értetődő, akkor magát adja meg, mikor végre, és hogy milyen esemény, hogy válaszoljon. Írhat közvetlenül a ravaszt összes esemény (beszúrás, törlés, frissítés), és csak egy vagy kettő.

Milyen további intézkedéseket értjük, elvileg bármilyen Például egy esemény betét levelet ravaszt, és tegye az asztalra, és azzal a kiegészítéssel, feljegyzések, például egy értesítést küld a posta, vagy egy másik példa, amit a későbbiekben majd, amelynek lényege az, hogy megőrizze régi és új bejegyzés frissítésekor (update), azaz fajta végeznek ellenőrzést minden változás egy adott táblázatban.

Mint mondtam, a példánkban lesz a következő, akkor végeznek ellenőrzést minden változás egy adott táblázat, azaz Trigger fogják hívni az esemény frissítés.

Már végrehajtott egy hasonló probléma, amely figyelembe veszi az anyag naplózó adatok változásait egy táblázatot-SQL. De mi nem éltünk kiváltó, és használt egyfajta rögtönzött tároló eljárást minden változik, de ma a-SQL anyag - az XML fogjuk használni az XML adatok a ravaszt.

Megjegyzés: Minden tevékenység végzünk Management Studio SQL Server.

Már a kezdet kezdetén, hozzunk létre egy táblázatot, amelyen akasztunk a ravaszt:

A kód egy táblázatot készíteni:

És adjunk hozzá egy pár sort, amely a jövőben, frissíteni fogjuk, tettem hozzá az alábbi információkat, és ellenőrizze a rendelkezésre álló egy egyszerű lekérdezés kiválasztásához

Hogyan hozzunk létre egy ravaszt-SQL, programozás kezdőknek

Most hozzunk létre egy táblázatot, amelyben rögzíti a változásokat, hívtam audit.

Creation kód audit táblázat:

  • id - az azonosító egy automatikusan növekvõ;
  • table_name - a tábla nevét, amelyben a változás bekövetkezett;
  • oper - üzemeltetés, ebben az esetben azt fogja írni, hogy frissítse;
  • record_old - XML ​​adatok a régi-line;
  • record_new - XML ​​adatok egy új sort;
  • felhasználónév - aki megváltoztatta;
  • date_ch - ha megváltozott.

Most térjünk közvetlenül az írás a ravaszt, és kezdeni, adok egy példát szintaxis, persze egy kicsit egyszerűbb, de még jobb a kezdők számára, valamint érthetőbb és ez elég ahhoz, hogy írja meg az első ravaszt. És az összes szintaktikai látható az interneten, például egy hivatalos nyilatkozatot-SQL. Csak azt gondolom, hogy a kezdők is egy kicsit bonyolult és érthetetlen, hogy itt van egy egyszerű szintaxis, úgymond az alapja ez szintaxis:

CREATE TRIGGERnazvanie triggeraONtablitsa amelyre akasztani

Forna bármely művelet (update, insert, delete)

Itt levelet magukat sql utasításokat kell követni, amikor a ravaszt bekövetkezik

Most nézzük meg, hogy a művelet a ravaszt, hogy indítsa el a frissítést futtatni egy sort.

Hogyan hozzunk létre egy ravaszt-SQL, programozás kezdőknek

És nézd meg, mi volt az ellenőrzés táblázatban.

Mint látható, az XML adatok könnyen megtekinthetők, és látjuk, hogy bizonyos értékek a régi feljegyzések és az új már az új rendre.

By the way, ha rákattint a xml adatok hozzáférhetők egy külön ablakban, ami még világosabban látható, hogy az adatokat frissítettük, de most nézzük meg, hogy frissítse több sorban, és hogyan kell viselkedni a ravaszt futtatni egy egyszerű frissítés kérés :

És ellenőrizze az ellenőrzési

Mint látható, van hozzá csak egy sort, de mi is frissítettük a két sor, akkor nagyon könnyen az összes adataink van írva az XML dokumentumban, és a tárolt rendre record_old régi két sort, és record_new változott két vonal, azaz a bármennyire is nem frissíti a sort, akkor megjelenik az XML dokumentumban. És most nézzük still'll kattintson az XML adatokat és meglátjuk, mi történik.

Hogyan hozzunk létre egy ravaszt-SQL, programozás kezdőknek

És itt azt mutatja, az összes vonal általunk érintettük.

Kapcsolódó cikkek