Триггерлер жана курсорлор
Маалымат базасында триггер – бул таблицада/көрүнүштө кээ бир белгилүү окуялар болгондо автоматтык түрдө аткарылуучу процедура (код сегменти). Анын башка колдонууларынын арасында триггерлер негизинен маалымат базасынын бүтүндүгүн сактоо үчүн колдонулат. Курсор - бул маалымат базасындагы жазуулардан өтүү үчүн маалымат базаларында колдонулган башкаруу структурасы. Ал көптөгөн программалоо тилдери тарабынан берилген итераторго абдан окшош.
Триггерлер деген эмне?
Триггер – бул маалымат базасынын таблицасында/көрүүсүндө кээ бир конкреттүү окуялар болгондо автоматтык түрдө аткарылуучу процедура (код сегменти). Анын башка колдонууларынын арасында триггерлер негизинен маалымат базасынын бүтүндүгүн сактоо үчүн колдонулат. Триггерлер ошондой эле бизнес эрежелерин ишке ашыруу, маалымат базасындагы өзгөрүүлөрдү текшерүү жана маалыматтарды репликациялоо үчүн колдонулат. Эң кеңири таралган триггерлер маалыматтар манипуляцияланганда иштетиле турган Data Manipulation Language (DML) триггерлери. Кээ бир маалыматтар базасы тутумдары Data Definition Language (DDL) окуялары пайда болгондо иштетилүүчү маалымат эмес триггерлерди колдойт. Кээ бир мисалдар таблицалар түзүлгөндө, аткаруу же артка кайтаруу операциялары пайда болгондо, ж.б.у.с. иштетилген триггерлер. Бул триггерлер өзгөчө аудит үчүн колдонулушу мүмкүн. Oracle маалымат базасы системасы схема деңгээлиндеги триггерлерди (б.а. маалымат базасынын схемалары өзгөртүлгөндө иштетилген триггерлерди) колдойт, мисалы, Түзүлгөндөн кийин, Өзгөртүүдөн мурун, Өзгөртүүдөн кийин, Тыюудан мурун, Тыюудан кийин ж.б. Мамыча деңгээлиндеги триггерлер, Ар бир сап түрү жана Ар бир билдирүү түрү үчүн триггерлер.
Курсорлор деген эмне?
Курсор – бул маалымат базасындагы жазуулардан өтүү үчүн маалымат базаларында колдонулган башкаруу структурасы. Бул көптөгөн программалоо тилдери тарабынан берилген итераторго абдан окшош. Курсорлор маалымат базасындагы жазуулар аркылуу өтүүдөн тышкары, маалыматтарды издөөнү, жазууларды кошууну жана жок кылууну жеңилдетет. Туура жолду аныктоо менен курсорлорду артка өтүү үчүн да колдонсо болот. SQL сурамы саптардын топтомун кайтарганда, алар иш жүзүндө курсорлор аркылуу иштетилет. Курсорду колдонуудан мурун аны жарыялоо жана ага ат ыйгаруу керек. Андан кийин курсорду OPEN буйругу менен ачуу керек. Бул операция курсорду жазуулардын натыйжалар топтомунун биринчи сапынын алдына коёт. Андан кийин курсор FETCH операциясын чындыгында колдонмого бир катар маалыматтарды алуу үчүн аткарышы керек. Акырында, курсорду ЖАБУУ операциясы аркылуу жабуу керек. Жабык курсорлорду кайра ачууга болот.
Триггерлер менен курсорлордун ортосунда кандай айырма бар?
Триггер – бул маалымат базасынын таблицасында/көрүүсүндө кандайдыр бир конкреттүү окуялар болгондо автоматтык түрдө аткарылуучу процедура (код сегменти), ал эми курсор маалымат базаларында маалымат базасынын жазуулары аркылуу өтүү үчүн колдонулган башкаруу структурасы. Курсор жарыяланып, триггердин ичинде колдонулушу мүмкүн. Мындай кырдаалда, билдирүү билдирүүсү триггердин ичинде болмок. Анда курсордун масштабы ошол триггер менен чектелет. Триггердин ичинде, курсор киргизилген же жок кылынган таблицада жарыя кылынса, мындай курсор уя салынган триггерден жеткиликсиз болмок. Триггер аяктагандан кийин, триггердин ичинде түзүлгөн бардык курсорлор ажыратылат.