Database 4031
31 subscribers
3 photos
6 videos
53 files
39 links
Course: Database 4031

Sundays & Tuesdays: 13:30 to 15:30

Class 109

Instructor:
Dr. Mehdi Emadi
m.emadi@nit.ac.ir

TAs:
@amirrhoseinnj
@Zahrarezaeii7
@kaadela
Download Telegram
trigger:
1:
CREATE OR REPLACE FUNCTION UpdateLastRentalDate()
RETURNS TRIGGER AS $$
BEGIN
UPDATE customer
SET last_rental_date = NEW.rental_date
WHERE customer_id = NEW.customer_id;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;

CREATE TRIGGER UpdateCustomerLastRentalDate
AFTER INSERT ON rental
FOR EACH ROW
EXECUTE FUNCTION UpdateLastRentalDate();

2:


CREATE OR REPLACE FUNCTION CheckInventoryAvailability()
RETURNS TRIGGER AS $$
BEGIN
IF EXISTS (
SELECT 1 FROM rental
WHERE inventory_id = NEW.inventory_id
AND return_date IS NULL
) THEN
RAISE EXCEPTION 'This inventory item is already rented out and has not been returned.';
END IF;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;

CREATE TRIGGER PreventDoubleRental
BEFORE INSERT ON rental
FOR EACH ROW
EXECUTE FUNCTION CheckInventoryAvailability();

3:
-- First, create the trigger function
CREATE OR REPLACE FUNCTION CheckFilmReleaseYear()
RETURNS TRIGGER AS $$
BEGIN
-- Check if the release year is less than 1900
IF NEW.release_year < 1900 THEN
-- Raise an exception to prevent insertion
RAISE EXCEPTION 'Release year cannot be less than 1900.';
END IF;

RETURN NEW;
END;
$$ LANGUAGE plpgsql;

-- Now, create the trigger to call the function before inserting a new film
CREATE TRIGGER ValidateReleaseYear
BEFORE INSERT ON film
FOR EACH ROW
EXECUTE FUNCTION CheckFilmReleaseYear();
هرکسی هر تمرینی رو اگه برای من تلگرام فرستاد
روی تمرین یک ریپلای بزنید
هر کسی تمرین سری سوم sql inter رو برام توی پیوی فرستاده ریپلای بزنه
نمره نهایی حل تمرین درس در شیت وارد شد.
درصورت وجود هرگونه اشتباه یا مشکل به من پیام دهید
7🔥2
سلام. برگه های پایگاه داده تصحیح شده است. و تا فردا ریز نمرات جمع و در اکسل اعلام می شود. فقط دوستان آمادگی داشته باشند که فردا و پس فردا دوشنبه و سه شنبه ساعت ۱۳:۳۰ الی ۱۴:۰۰ می توانید در محل دفتر بنده (ساختمان دانشکده برق) برگه ها را به صورت حضوری ببینید. دوستانی که امکان حضور ندارند ترجیحا به یکی از همکلاسی ها بسپارند که برای آنها برگه و پاسخ ها را چک کند.
🤯2
نمرات نهایی پایگاه داده
دوستانی که اعتراض دارند نهایتا تا فردا ظهر به صورت حضوری در دفتر بنده حاضر باشند. در ضمن اگر امکان حضور ندارید به یکی از همکلاسی ها بسپارید و یا اگر باز هم مشکل داشتید به ایمیل بنده درخواست خود را ارسال نمایید. m.emadi@nit.ac.ir
ساعت حضور طبق اطلاعیه قبلی ساعت 13:30 الی 14:00 می باشد.
با سلام خدمت دوستان عزیزی که این ترم با ما همراه بودن، امیدواریم ترم خوبی براتون بوده باشه.

🔹️اگه انتقاد یا پیشنهادی دارین که بتونه تو ادامه بهمون کمک کنه خوشحال می‌شیم که باهامون در میون بذارین.

📌در آخر برای همتون در ادامه مسیر تحصیلی (و غیر تحصیلی) آرزوی سلامتی و موفقیت می‌کنیم.
20