Create a Transaction That Rolls Back If Stock Is Insufficient
Products Table:
Query Description:
This transaction checks whether there is enough stock available for a product before processing an order.
If stock is sufficient, it updates the stock and inserts the order.
If stock is insufficient, it rolls back the transaction, preventing any changes to the database.
SQL Query:
GO
BEGIN TRANSACTION;
DECLARE @ProductID INT = 1;
DECLARE @OrderQuantity INT = 10;
DECLARE @CurrentStock INT;
-- Get current stock for the product
SELECT @CurrentStock = UnitsInStock
FROM Products
WHERE ProductID = @ProductID;
-- Check stock availability
IF @CurrentStock >= @OrderQuantity
BEGIN
-- Deduct stock
UPDATE Products
SET UnitsInStock = UnitsInStock - @OrderQuantity
WHERE ProductID = @ProductID;
-- Insert order detail (example values used)
INSERT INTO OrderDetails (OrderID, ProductID, Quantity)
VALUES (1001, @ProductID, @OrderQuantity);
COMMIT TRANSACTION;
PRINT 'Order processed successfully.';
END
ELSE
BEGIN
ROLLBACK TRANSACTION;
PRINT 'Transaction rolled back: Insufficient stock.';
END;
Output:
Trainings :
Data Science Training in Indore | Data Analytics Training in Indore | Python Training in Indore | Blockchain Training in Indore | React JS Training in Indore | Web Development Training in Indore | Full Stack Development Training in Indore |Free Courses and Resource :
Verbal Aptitude | Matplotlib Tutorials | Examples | Interview Questions | Pandas Tutorials | Projects | Interview Questions | OpenCV Tutorials | Projects | Interview Questions | ExpressJS Tutorials | Projects | Interview Questions | Dart | Python Data Structures and Algorithms | Rust Tutorials | Projects | Interview Questions | Aptitude Tests | HackerRank Python | Django | MongoDB Tutorials | Examples | Interview Questions | NumPy Practice Questions | Python Tutorials by CodersDaily | Golang Tutorials | Projects | Interview Questions | React.js Tutorials | Verbal Ability Tutorial | MS Sql Server Tutorials | Examples | Interview Questions | Power BI Tutorials | Projects | Interview Questions | Example Dashboards | Numpy Tutorials | Projects | Interview Questions | Django REST Framework Tutorial | HackerRank C++ Solutions | Tensor Flow | Pandas Practice Questions | Python Practice Questions | C++ Tutorials | Quantitative Ability Tutorial | Javascript | Node.js Tutorials | HackerRank SQL Solutions | HackerRank DSA Solutions | Verbal Aptitude 2 | HackerRank Java Solutions | HTML Tutorial | TCS NQT Mock Test Series | Reasoning Ability Tutorial | CodeChef Python Solutions | HackerRank C Program Solutions | Leetcode Python Solutions | SQL Practice Question | Matplotlib Practice Questions |Interview Questions :
Pandas Tutorials | Projects | Interview Questions | ExpressJS Tutorials | Projects | Interview Questions | Django | Python Tutorials by CodersDaily | Golang Tutorials | Projects | Interview Questions | Numpy Tutorials | Projects | Interview Questions | Django REST Framework Tutorial |Top Colleges in India :
Indian Institute of Technology Bombay | Jaypee University of Engineering and Technology - Guna |