6-modul · 8-dars: RAISE · Functions · Triggers

Daraja: O'rta

RAISE · Functions · Triggers. PostgreSQL bo‘yicha nazariya, amaliy namuna va mustaqil mashq.

Tushuntirish

## Dars maqsadi RAISE · Functions · Triggers tushunchalarini farqlash, nima uchun kerakligini izohlash va kichik misolda qo‘llash.

## Nazariya RAISE xabar yoki xato chiqaradi: DEBUG, LOG, INFO, NOTICE, WARNING va EXCEPTION darajalari mavjud. Daraja yozilmasa EXCEPTION qabul qilinadi. % o'rinbosariga argument qo'yiladi; DETAIL, HINT va ERRCODE tashxisni boyitadi. Maxfiy ma'lumotni xatoga qo'shmang. BEGIN ... EXCEPTION blokida SQLSTATE yoki nomlangan shart bo'yicha xato ushlanadi. Function qiymat yoki qatorlar to'plamini qaytarishi mumkin va SELECT ichida chaqiriladi. Procedure CALL orqali chaqiriladi; tranzaksiya boshqarish imkoniyati chaqiruv sharoitiga bog'liq. IN kirish, OUT natija, INOUT esa ikkala vazifani bajaradi. RETURNS TABLE ustunlari bilan jadvalsimon natija aniqlanadi; RETURN QUERY tanlangan qatorlarni qaytaradi. Trigger jadvaldagi INSERT, UPDATE yoki DELETE kabi hodisaga bog'lanadi. BEFORE va AFTER vaqti, ROW va STATEMENT darajasi farq qiladi. Trigger funksiyasi NEW/OLD orqali o'zgarayotgan qatorni ko'radi. Audit uchun foydali, ammo yashirin rekursiya, tranzaksiya narxi va trigger ishga tushirgan qo'shimcha yozuvlarni hisobga olish kerak.

## Manbalar [Moduldagi savollar yo‘nalishi](https://github.com/jlkesh/pdp_online_java_lessons/blob/main/interviewquestions/6-module%28database%29.md) [Rasmiy qo‘llanma](https://www.postgresql.org/docs/current/)

Kod quyida o‘quv namunasi sifatida berilgan. To‘liq ilova uchun import, dependency va konfiguratsiya kerak bo‘lishi mumkin. SQLni faqat ajratilgan test bazasida bajaring.

Kod misoli

CREATE OR REPLACE FUNCTION pg_temp.kvadrat(n integer)
RETURNS integer LANGUAGE sql IMMUTABLE
AS $$ SELECT n * n $$;
SELECT pg_temp.kvadrat(4);

Keng tarqalgan xatolar

Mashqlar

Teglar: pdp, nazariya, modul-06

Interaktiv ko'rinish (viktorina, izohlar, tarix)