Разлика между тригери и курсори

Разлика между тригери и курсори
Разлика между тригери и курсори

Видео: Разлика между тригери и курсори

Видео: Разлика между тригери и курсори
Видео: КРАСИВЫЕ КУРСОРЫ ДЛЯ WINDOWS / КРАСИВЫЕ КУРСОРЫ 2020 / RGB КУРСОР 2024, Ноември
Anonim

Тригери срещу курсори

В база данни тригерът е процедура (сегмент на код), която се изпълнява автоматично, когато се появят някои специфични събития в таблица/изглед. Сред другите му приложения тригерите се използват главно за поддържане на целостта на базата данни. Курсорът е контролна структура, използвана в базите данни за преминаване през записите в базата данни. Той е много подобен на итератора, предоставен от много езици за програмиране.

Какво представляват тригерите?

Тригерът е процедура (кодов сегмент), която се изпълнява автоматично, когато възникнат някои специфични събития в таблица/изглед на база данни. Сред другите му приложения тригерите се използват главно за поддържане на целостта на базата данни. Тригерите се използват и за налагане на бизнес правила, одит на промените в базата данни и репликиране на данни. Най-често срещаните задействания са задействания на езика за манипулиране на данни (DML), които се задействат, когато данните се манипулират. Някои системи за бази данни поддържат тригери без данни, които се задействат при възникване на събития на Data Definition Language (DDL). Някои примери са тригери, които се задействат, когато се създават таблици, по време на извършване на операции за извършване или връщане назад и т.н. Тези тригери могат да се използват специално за одит. Системата за бази данни на Oracle поддържа тригери на ниво схема (т.е. тригери, задействани, когато схемите на базата данни са модифицирани), като след създаване, преди промяна, след промяна, преди премахване, след премахване и т.н. Четирите основни типа тригери, поддържани от Oracle, са тригери на ниво ред, Задействания на ниво колона, задействания за всеки тип ред и задействания за всеки тип изявление.

Какво представляват курсорите?

Курсорът е контролна структура, използвана в базите данни за преминаване през записите в базата данни. Той е много подобен на итератора, предоставен от много езици за програмиране. В допълнение към преминаването през записите в база данни, курсорите също така улесняват извличането на данни, добавянето и изтриването на записи. Като дефинирате правилния път, курсорите могат да се използват и за придвижване назад. Когато SQL заявка върне набор от редове, те всъщност се обработват с помощта на курсори. Курсорът трябва да бъде деклариран и да му бъде присвоено име, преди да може да се използва. След това курсорът трябва да се отвори с помощта на командата OPEN. Тази операция ще постави курсора точно преди първия ред на резултатния набор от записи. След това курсорът трябва да изпълни операцията FETCH, за да получи действително ред от данни в приложението. Накрая, курсорът трябва да се затвори с помощта на операцията CLOSE. Затворените курсори могат да бъдат отворени отново.

Каква е разликата между тригери и курсори?

Тригерът е процедура (кодов сегмент), която се изпълнява автоматично, когато се появят някои специфични събития в таблица/изглед на база данни, докато курсорът е контролна структура, използвана в базите данни за преминаване през записите в базата данни. Курсорът може да бъде деклариран и използван в тригер. В такава ситуация операторът declare ще бъде вътре в тригера. Тогава обхватът на курсора ще бъде ограничен до този тригер. В рамките на тригер, ако е деклариран курсор върху вмъкната или изтрита таблица, такъв курсор няма да бъде достъпен от вложен тригер. След като тригерът бъде завършен, всички курсори, създадени в рамките на тригера, ще бъдат деалокирани.

Препоръчано: