-- Insert data into Members table
INSERT INTO Members (member_id, first_name, last_name, address, contact_number, email, library_id)
VALUES
(301, 'John', 'Doe', '789 Elm St', '555-3333', 'john.doe@example.com', 101),
(302, 'Jane', 'Smith', '101 Pine St', '555-4444', 'jane.smith@example.com', 102),
(303, 'Bob', 'Johnson', '202 Cedar St', '555-5555', 'bob.johnson@example.com', 103),
(304, 'Alice', 'Brown', '303 Birch St', '555-6666', 'alice.brown@example.com', 104),
(305, 'David', 'Wilson', '404 Walnut St', '555-7777', 'david.wilson@example.com', 105),
(306, 'Emma', 'Davis', '505 Sycamore St', '555-8888', 'emma.davis@example.com', 106);
-- Insert data into Loans table
INSERT INTO Loans (loan_id, book_id, member_id, loan_date, return_date)
VALUES
(401, 201, 301, '2023-01-15', '2023-02-15'),
(402, 202, 302, '2023-02-20', '2023-03-20'),
(403, 203, 303, '2023-03-10', '2023-04-10'),
(404, 204, 304, '2023-04-05', '2023-05-05'),
(405, 205, 305, '2023-05-12', '2023-06-12'),
(406, 206, 306, '2023-06-25', '2023-07-25');
Trigerlar, ma'lumotlar bazasidagi boshqa tadbirlar bajarilganda avtomatik ravishda ishga tushadigan qisqa protseduralardir. Bu tadbirlar boshqa amallar bo'yicha to'g'ridan to'g'ri ishga tushadi, va ularni ma'lumotlar bazasi har bir qatorida, jadvallar o'zgarib turganda, yoki boshqa ma'lumot o'zgarishlaridan keyin ishlatish mumkin. Quyidagi qismlarda trigerlarga ko'proq ma'lumot beraman:
Triger Yaratish:
Triger yaratish uchun CREATE TRIGGER so'zini ishlatamiz. Triger nomi, tadbir (BEFORE, AFTER), tadbirni qanday vaqt amalga oshirish (INSERT, UPDATE, DELETE), jadval nomi, va amalga oshiriladigan tadbirni bajarish uchun SQL so'rovlari kiritiladi. Misol:
-- Create a trigger function
CREATE OR REPLACE FUNCTION update_last_modified()
RETURNS TRIGGER AS $$
BEGIN
NEW.last_modified = NOW();
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
-- Create a trigger
CREATE TRIGGER products_update_trigger
BEFORE UPDATE ON Products
FOR EACH ROW
EXECUTE FUNCTION update_last_modified();
Trigerlar, ma'lumotlar bazasidagi boshqa tadbirlar bajarilganda avtomatik ravishda ishga tushadigan qisqa protseduralardir. Bu tadbirlar boshqa amallar bo'yicha to'g'ridan to'g'ri ishga tushadi, va ularni ma'lumotlar bazasi har bir qatorida, jadvallar o'zgarib turganda, yoki boshqa ma'lumot o'zgarishlaridan keyin ishlatish mumkin. Quyidagi qismlarda trigerlarga ko'proq ma'lumot beraman:
Do'stlaringiz bilan baham: |