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