0% found this document useful (0 votes)
3 views

sql vs trigger

The document explains SQL commands (INSERT, UPDATE, DELETE) and triggers with real-time examples from a hotel booking system. It illustrates how to manage customer bookings, update room availability, and log payment transactions using SQL procedures. Additionally, it provides a detailed explanation of how to create and call stored procedures for adding and cancelling bookings.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

sql vs trigger

The document explains SQL commands (INSERT, UPDATE, DELETE) and triggers with real-time examples from a hotel booking system. It illustrates how to manage customer bookings, update room availability, and log payment transactions using SQL procedures. Additionally, it provides a detailed explanation of how to create and call stored procedures for adding and cancelling bookings.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 16

insert ,update ,delete in sql vs trigger procedures with realtime example

ChatGPT said:

ChatGPT

1. Insert, Update, Delete in SQL:

These are basic DML (Data Manipulation Language) commands used to


manipulate data within a database table.

 Insert: Adds new records to a table.

o Example:

sql

Copy code

INSERT INTO Employees (ID, Name, Position, Salary) VALUES (1, 'John
Doe', 'Developer', 50000);

 Update: Modifies existing records in a table.

o Example:

sql

Copy code

UPDATE Employees SET Salary = 55000 WHERE ID = 1;

 Delete: Removes records from a table.

o Example:

sql

Copy code

DELETE FROM Employees WHERE ID = 1;

2. Triggers in SQL:

A trigger is a special kind of stored procedure that automatically executes


when certain events (INSERT, UPDATE, DELETE) occur on a table.

Real-Time Example:

Suppose you want to track changes to employee salaries in a company


database. Every time the salary is updated, you want to log this change in
an AuditLog table.

 Create Trigger:

sql
Copy code

CREATE TRIGGER SalaryUpdateTrigger

AFTER UPDATE ON Employees

FOR EACH ROW

BEGIN

IF OLD.Salary <> NEW.Salary THEN

INSERT INTO AuditLog (EmployeeID, OldSalary, NewSalary,


ChangeDate)

VALUES (OLD.ID, OLD.Salary, NEW.Salary, NOW());

END IF;

END;

Comparison:

 Direct SQL Commands (INSERT, UPDATE, DELETE):

o Manually executed by users or applications.

o Useful for straightforward data manipulation tasks.

 Triggers:

o Automatically execute when a specified event happens.

o Useful for automating tasks like logging, auditing, or


maintaining integrity across tables without requiring manual
intervention.

4o

You said:

easy example for students with tables and query with explaination

ChatGPT said:

ChatGPT

Let's consider a simple example involving two tables: Students and


StudentScores.

Tables:

1. Students Table:
Student Ag
Name
ID e

1 John Doe 20

Jane
2 19
Smith

Mike
3 21
Ross

2. StudentScores Table:

ScoreI Student Subje Scor


D ID ct e

1 1 Math 85

2 1 English 78

3 2 Math 90

SQL Commands with Examples:

1. INSERT:

Adding a new student and their score to the tables.

Example Query:

sql

Copy code

-- Adding a new student to the Students table

INSERT INTO Students (StudentID, Name, Age) VALUES (4, 'Emily Clark',
22);

-- Adding a new score for the new student

INSERT INTO StudentScores (ScoreID, StudentID, Subject, Score) VALUES


(4, 4, 'Math', 88);

Explanation:

 The first query adds a new student named "Emily Clark" to the
Students table.

 The second query adds a Math score of 88 for "Emily Clark" to the
StudentScores table.
2. UPDATE:

Modifying the details of an existing student or updating their score.

Example Query:

sql

Copy code

-- Update the age of John Doe in the Students table

UPDATE Students SET Age = 21 WHERE StudentID = 1;

-- Update the English score of John Doe

UPDATE StudentScores SET Score = 80 WHERE StudentID = 1 AND Subject


= 'English';

Explanation:

 The first query updates John Doe's age to 21 in the Students table.

 The second query updates John Doe's English score from 78 to 80 in


the StudentScores table.

3. DELETE:

Removing a student or a specific score from the tables.

Example Query:

sql

Copy code

-- Delete Jane Smith from the Students table

DELETE FROM Students WHERE StudentID = 2;

-- Delete the Math score of Mike Ross from the StudentScores table

DELETE FROM StudentScores WHERE StudentID = 3 AND Subject = 'Math';

Explanation:

 The first query removes Jane Smith from the Students table.

 The second query removes Mike Ross's Math score from the
StudentScores table.

Trigger Example:
Suppose we want to automatically add a record to a ScoreAudit table
whenever a student's score is updated, to track changes.

1. ScoreAudit Table:

AuditI Student Subje OldSco NewSco UpdateTi


D ID ct re re me

Trigger Query:

sql

Copy code

CREATE TRIGGER UpdateScoreAudit

AFTER UPDATE ON StudentScores

FOR EACH ROW

BEGIN

IF OLD.Score <> NEW.Score THEN

INSERT INTO ScoreAudit (StudentID, Subject, OldScore, NewScore,


UpdateTime)

VALUES (OLD.StudentID, OLD.Subject, OLD.Score, NEW.Score, NOW());

END IF;

END;

Explanation:

 This trigger activates automatically whenever a score is updated in


the StudentScores table.

 If the old score is different from the new one, it adds a record to the
ScoreAudit table, logging the change.

4o

You said:

explain sql cammand and triggers wiyh real time examples

ChatGPT said:

ChatGPT

Let's go over SQL commands (INSERT, UPDATE, DELETE) and triggers


with some practical, real-time examples to illustrate how they work in day-
to-day applications.
1. SQL Commands:

These commands are used to manipulate data in the database.

INSERT:

The INSERT command is used to add new records to a table.

Real-Time Example: Imagine an e-commerce website. When a new


customer registers on the site, their details need to be added to the
Customers table.

Example Query:

sql

Copy code

INSERT INTO Customers (CustomerID, Name, Email, RegistrationDate)

VALUES (101, 'Alice Johnson', '[email protected]', '2024-10-17');

Explanation: This query adds a new customer, Alice Johnson, to the


Customers table.

UPDATE:

The UPDATE command is used to modify existing records.

Real-Time Example: On the same e-commerce website, if a customer


wants to change their delivery address, the system needs to update this
information.

Example Query:

sql

Copy code

UPDATE Customers

SET Address = '123 New Street, Springfield'

WHERE CustomerID = 101;

Explanation: This query updates the address of the customer with


CustomerID = 101 to the new address.

DELETE:

The DELETE command is used to remove records from a table.

Real-Time Example: If a customer deletes their account, their data can


be removed from the database.
Example Query:

sql

Copy code

DELETE FROM Customers

WHERE CustomerID = 101;

Explanation: This query deletes the record of the customer with


CustomerID = 101.

2. Triggers in SQL:

A trigger is a piece of code that automatically executes when a specified


event occurs on a table, such as an INSERT, UPDATE, or DELETE action.

Real-Time Example with Trigger:

Let's say we have a BankAccounts table that tracks user accounts and
another table called AccountAudit which keeps a log of any changes
made to the balance of an account.

1. BankAccounts Table:

AccountI AccountHol Balanc


D der e

201 John Doe 5000

2. AccountAudit Table:

AuditI AccountI OldBalan NewBalan ChangeDa


D D ce ce te

Trigger Query:

sql

Copy code

CREATE TRIGGER BalanceChangeAudit

AFTER UPDATE ON BankAccounts

FOR EACH ROW

BEGIN

IF OLD.Balance <> NEW.Balance THEN

INSERT INTO AccountAudit (AccountID, OldBalance, NewBalance,


ChangeDate)
VALUES (OLD.AccountID, OLD.Balance, NEW.Balance, NOW());

END IF;

END;

Explanation:

 This trigger is set to activate after any update to the


BankAccounts table.

 When an account’s balance is updated, the trigger checks if the


OLD.Balance (balance before the update) is different from the
NEW.Balance (balance after the update).

 If the balance has changed, a record is inserted into the


AccountAudit table, logging the AccountID, OldBalance,
NewBalance, and ChangeDate.

How It Works in Real Life: Suppose John Doe withdraws $1000, and the
BankAccounts table is updated:

sql

Copy code

UPDATE BankAccounts

SET Balance = 4000

WHERE AccountID = 201;

Effect of the Trigger: The trigger will automatically add a new record to
the AccountAudit table:

AuditI AccountI OldBalan NewBalan


ChangeDate
D D ce ce

2024-10-17
1 201 5000 4000
10:30:00

Summary:

 SQL Commands like INSERT, UPDATE, and DELETE are used to add,
modify, or remove data manually.

 Triggers automate tasks, such as logging changes or maintaining


data integrity, by executing specific actions automatically when
certain conditions are met.

4o

You said:
to take real time example with tables and querys

ChatGPT said:

ChatGPT

Let's create a real-time scenario involving a hotel booking system, with


tables and SQL queries to demonstrate INSERT, UPDATE, DELETE
commands, and a trigger.

Scenario: Hotel Booking System

The hotel booking system manages information about customers, room


bookings, and payment transactions.

Tables:

1. Customers Table:

Customer PhoneNum
Name Email
ID ber

Alice [email protected] 123-456-


1
Johnson om 7890

[email protected] 987-654-
2 Bob Smith
m 3210

2. Bookings Table:

Booking Customer RoomNum CheckInD CheckOutD


Status
ID ID ber ate ate

Confirme
101 1 203 2024-10-20 2024-10-22
d

Confirme
102 2 305 2024-10-21 2024-10-23
d

3. PaymentTransactions Table:

Transactio Booking Amou PaymentD PaymentSta


nID ID nt ate tus

1001 101 200 2024-10-15 Completed

SQL Commands with Real-Time Examples:

1. INSERT: Adding a New Booking

When a new customer makes a booking, their information is added to the


Customers and Bookings tables.
Example Query:

sql

Copy code

-- Add a new customer to the Customers table

INSERT INTO Customers (CustomerID, Name, Email, PhoneNumber)

VALUES (3, 'Charlie Brown', '[email protected]', '555-123-4567');

-- Create a new booking for the customer

INSERT INTO Bookings (BookingID, CustomerID, RoomNumber,


CheckInDate, CheckOutDate, Status)

VALUES (103, 3, 401, '2024-10-25', '2024-10-27', 'Confirmed');

Explanation:

 The first query adds a new customer, Charlie Brown, to the


Customers table.

 The second query creates a booking for Charlie in room 401.

2. UPDATE: Modifying a Booking

If a customer wants to extend their stay, we can update the


CheckOutDate for their booking.

Example Query:

sql

Copy code

-- Update the checkout date for Alice's booking

UPDATE Bookings

SET CheckOutDate = '2024-10-24'

WHERE BookingID = 101;

Explanation: This query updates the checkout date for Alice's booking
from October 22 to October 24.

3. DELETE: Cancelling a Booking

If a customer cancels their booking, we can remove the booking from the
Bookings table.

Example Query:
sql

Copy code

-- Delete Bob's booking

DELETE FROM Bookings

WHERE BookingID = 102;

Explanation: This query removes Bob's booking from the Bookings


table.

Trigger Example: Automatically Log Payment Transactions

To track any updates to the PaymentTransactions table, we can set up a


trigger that logs every time a payment is marked as completed.

1. PaymentLog Table:

LogI Transactio Booking Amou LogDa


D nID ID nt te

Trigger Query:

sql

Copy code

CREATE TRIGGER PaymentCompletionLog

AFTER UPDATE ON PaymentTransactions

FOR EACH ROW

BEGIN

IF OLD.PaymentStatus <> NEW.PaymentStatus AND NEW.PaymentStatus


= 'Completed' THEN

INSERT INTO PaymentLog (TransactionID, BookingID, Amount, LogDate)

VALUES (NEW.TransactionID, NEW.BookingID, NEW.Amount, NOW());

END IF;

END;

Explanation:

 This trigger automatically executes whenever a record is updated in


the PaymentTransactions table.

 It checks if the PaymentStatus has changed to "Completed". If so, it


logs this information in the PaymentLog table.
Real-Time Use: Let's say a customer pays for their booking, and the
system updates the payment status:

sql

Copy code

UPDATE PaymentTransactions

SET PaymentStatus = 'Completed'

WHERE TransactionID = 1002;

Effect of the Trigger: If the payment status is updated to "Completed,"


the following record will be automatically inserted into the PaymentLog:

LogI Transactio Booking Amou


LogDate
D nID ID nt

2024-10-17
1 1002 103 250
11:45:00

Summary:

 INSERT, UPDATE, and DELETE commands help in adding,


modifying, and removing records manually.

 Triggers automate processes, such as logging payment


completions, and enhance system efficiency by automatically
handling repetitive tasks.

4o

You said:

how to write the procedures in sql

ChatGPT said:

ChatGPT

In SQL, a stored procedure is a set of SQL statements that you can save
and reuse. Stored procedures allow you to encapsulate logic, making it
easier to manage and reuse code. Let's go through how to write a
procedure with a real-time example.

General Syntax for Stored Procedures:

sql

Copy code

CREATE PROCEDURE procedure_name (parameters)


BEGIN

-- SQL statements

END;

Real-Time Example: Hotel Booking System

Suppose we want to create a stored procedure that adds a new booking


and updates the availability of a room.

1. Bookings Table:

Booking Customer RoomNumb CheckInDa CheckOutD Statu


ID ID er te ate s

2. Rooms Table:

RoomNumb Pric Availabili


Type
er e ty

101 Deluxe 150 Available

Standar
102 100 Available
d

Stored Procedure to Add a New Booking:

This procedure will:

 Insert a new booking into the Bookings table.

 Update the room status to "Unavailable" in the Rooms table after


the booking is confirmed.

Procedure Code:

sql

Copy code

CREATE PROCEDURE AddNewBooking (

IN customerID INT,

IN roomNumber INT,

IN checkIn DATE,

IN checkOut DATE

BEGIN
-- Step 1: Insert a new booking

INSERT INTO Bookings (CustomerID, RoomNumber, CheckInDate,


CheckOutDate, Status)

VALUES (customerID, roomNumber, checkIn, checkOut, 'Confirmed');

-- Step 2: Update the room availability

UPDATE Rooms

SET Availability = 'Unavailable'

WHERE RoomNumber = roomNumber;

END;

Explanation:

 Parameters: customerID, roomNumber, checkIn, and checkOut are


input parameters.

 Step 1: Inserts a new booking record with the given information,


setting the status as "Confirmed".

 Step 2: Updates the Rooms table, changing the availability of the


booked room to "Unavailable".

Calling the Stored Procedure:

To use the procedure, you call it and provide the required parameters.

Example Query:

sql

Copy code

CALL AddNewBooking(3, 101, '2024-10-25', '2024-10-27');

Explanation: This command calls the AddNewBooking procedure to:

 Add a new booking for CustomerID = 3 in RoomNumber = 101 from


October 25 to October 27.

 Mark RoomNumber 101 as "Unavailable" in the Rooms table.

Another Example: Procedure for Cancelling a Booking

If a customer wants to cancel a booking, we might also want to update


the booking status and make the room available again.

Procedure Code:
sql

Copy code

CREATE PROCEDURE CancelBooking (

IN bookingID INT

BEGIN

-- Step 1: Update the booking status to 'Cancelled'

UPDATE Bookings

SET Status = 'Cancelled'

WHERE BookingID = bookingID;

-- Step 2: Retrieve the RoomNumber associated with the booking

DECLARE roomNum INT;

SELECT RoomNumber INTO roomNum FROM Bookings WHERE


BookingID = bookingID;

-- Step 3: Update the room availability

UPDATE Rooms

SET Availability = 'Available'

WHERE RoomNumber = roomNum;

END;

Explanation:

 This procedure cancels a booking by setting its status to


"Cancelled".

 It retrieves the RoomNumber from the Bookings table and updates


the room availability to "Available" in the Rooms table.

Calling the Procedure:

sql

Copy code

CALL CancelBooking(101);
Explanation: This call cancels the booking with BookingID = 101 and
marks the room as "Available".

Summary:

 Stored procedures help encapsulate complex operations, reduce


repetitive coding, and improve maintainability.

 Parameters can be used to pass information to procedures (IN,


OUT, INOUT).

 Procedures are particularly useful in real-world scenarios like


booking systems, where multiple steps need to be executed
together (e.g., creating a booking and updating room availability).

4o

You might also like