Задейства срещу съхранени процедури
В база данни, тригерът е процедура (кодов сегмент), която се изпълнява автоматично, когато в таблица / изглед се случват някои конкретни събития. Сред другите му приложения, тригерите се използват главно за поддържане на целостта в база данни. Съхранената процедура е метод, който може да се използва от приложения, които имат достъп до релационна база данни. Обикновено съхраняваните процедури се използват като метод за валидиране на данни и контрол на достъпа до база данни.
Какво представляват тригерите?
Задействането е процедура (кодов сегмент), която се изпълнява автоматично, когато в таблица / изглед на база данни се случват някои конкретни събития. Сред другите му приложения, тригерите се използват главно за поддържане на целостта в база данни. Тригерите се използват и за налагане на бизнес правила, одит на промените в базата данни и репликиране на данни. Най-честите задействания са задействанията на език за манипулиране на данни (DML), които се задействат при манипулиране на данни. Някои системи от бази данни поддържат задействания без данни, които се задействат при възникване на събития на езика на дефиниране на данни (DDL). Някои примери са задействания, които се задействат, когато се създават таблици, по време на извършване на операции за извършване на прехвърляне или връщане и т.н. Тези задействания могат да бъдат използвани особено за одит. Системата за бази данни Oracle поддържа задействания на схеми на ниво (т.е. тригери, задействани при модифициране на схемите на базата данни), като After Creation, Before Alter, After Alter, Before Drop, After Drop и др. Задействащи нивото на колоната, задействания за всеки тип редове и за всяко задействане на тип отчети.
Какви са съхранените процедури?
Съхранената процедура е метод, който може да се използва от приложение, осъществяващо достъп до релационна база данни. Обикновено съхраняваните процедури се използват като метод за валидиране на данни и контрол на достъпа до база данни. Ако някои операции за обработка на данни изискват да бъдат изпълнени няколко SQL оператора, такива операции се реализират като съхранени процедури. При извикване на съхранена процедура трябва да се използва оператор CALL или EXECUTE. Съхранените процедури могат да върнат резултати (например резултати от операторите SELECT). Тези резултати могат да бъдат използвани от други съхранени процедури или от приложения. Езици, които се използват за писане на съхранени процедури, обикновено поддържат контролни структури, като if, while, for и т.н. В зависимост от използваната система от бази данни, няколко езика могат да се използват за реализиране на съхранявани процедури (например PL / SQL и java в Oracle, T- SQL (Transact-SQL) и .NET Framework в Microsoft SQL Server). Освен това MySQL използва свои собствени съхранени процедури.
Каква е разликата между тригери и съхранени процедури?
Задействането е процедура (кодов сегмент), която се изпълнява автоматично, когато в таблица / изглед на база данни се случват някои конкретни събития, докато съхранената процедура е метод, който може да се използва от приложение, осъществяващо достъп до релационна база данни. Задействанията се изпълняват автоматично, когато се случи събитието, на което се предполага, че тригерът ще реагира. Но за изпълнение на съхранена процедура трябва да се използва конкретен CALL или EXECUTE оператор. Отстраняването на грешки може да бъде по-трудно и по-сложно от отстраняването на грешки в съхранените процедури. Тригерите са много полезни, когато искате да сте сигурни, че нещо се случва, когато се случи определено събитие.