рднрд┐рдбреЗ:
рдЬреЗрдард╛рд▓рд╛рд▓! рдпреЗ Stored Procedure рдФрд░ Function рдХреНрдпрд╛ рдмрд▓рд╛ рд╣реИ? Demo рджреЗрдХрд░ рд╕рдордЭрд╛рдУ!
рдЬреЗрдард╛рд▓рд╛рд▓:
рдЕрд░реЗ рднрд┐рдбреЗ! рдЪрд▓ рддреБрдЭреЗ live demo рджреЗрддрд╛ рд╣реВрдВред рджреЗрдЦ, рдореИрдВрдиреЗ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ bank database рдмрдирд╛рдпрд╛ рд╣реИред рдЕрдм рддреВ рдЦреБрдж try рдХрд░рдХреЗ рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ Stored Procedure рдФрд░ Function рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
рднрд┐рдбреЗ:
рд╡рд╛рд╣! рддреЛ рдореИрдВ actual database рдХреЗ рд╕рд╛рде experiment рдХрд░ рд╕рдХреВрдВрдЧрд╛?
рдЬреЗрдард╛рд▓рд╛рд▓:
рдмрд┐рд▓реНрдХреБрд▓! Database Tab рдореЗрдВ data рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИ, Procedure Demo рдореЗрдВ money transfer рдХрд░ рд╕рдХрддрд╛ рд╣реИ, Function Demo рдореЗрдВ bonus calculate рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ Performance Tab рдореЗрдВ speed comparison рджреЗрдЦ рд╕рдХрддрд╛ рд╣реИред
ЁЯПж Bank Database Tables
рдпрд╣рд╛рдБ рд╣рдорд╛рд░реЗ demo database рдХреЗ tables рд╣реИрдВ:
ЁЯСе Accounts Table
Account ID |
Name |
Balance |
Type |
ЁЯТ╝ Employees Table
Employee ID |
Name |
Salary |
Performance |
ЁЯУК Transaction History
Transaction ID |
From Account |
To Account |
Amount |
Status |
Timestamp |
ЁЯФз Stored Procedure Demo - Money Transfer
рдпрд╣рд╛рдБ рдЖрдк actual money transfer procedure рдХреЛ run рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
ЁЯТ░ Transfer Money
ЁЯУЭ Stored Procedure Code
CREATE PROCEDURE TransferMoney(
@FromAccount INT,
@ToAccount INT,
@Amount DECIMAL(10,2)
)
AS
BEGIN
BEGIN TRANSACTION
DECLARE @FromBalance DECIMAL(10,2)
SELECT @FromBalance = Balance
FROM Accounts
WHERE AccountID = @FromAccount
IF @FromBalance >= @Amount
BEGIN
UPDATE Accounts
SET Balance = Balance - @Amount
WHERE AccountID = @FromAccount
UPDATE Accounts
SET Balance = Balance + @Amount
WHERE AccountID = @ToAccount
INSERT INTO Transactions VALUES(
@FromAccount, @ToAccount,
@Amount, 'Success', GETDATE()
)
COMMIT TRANSACTION
RETURN 1 -- Success
END
ELSE
BEGIN
ROLLBACK TRANSACTION
RETURN 0 -- Failed
END
END
Execute transfer рдХреЛ click рдХрд░реЗрдВ procedure run рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП...
тЪб Function Demo - Bonus Calculator
рдпрд╣рд╛рдБ рдЖрдк employee bonus calculate рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ function try рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
ЁЯУЭ Function Code
CREATE FUNCTION CalculateBonus(
@Salary DECIMAL(10,2),
@Performance INT
)
RETURNS DECIMAL(10,2)
AS
BEGIN
DECLARE @Bonus DECIMAL(10,2)
IF @Performance >= 90
SET @Bonus = @Salary * 0.20 -- 20%
ELSE IF @Performance >= 80
SET @Bonus = @Salary * 0.15 -- 15%
ELSE IF @Performance >= 70
SET @Bonus = @Salary * 0.10 -- 10%
ELSE IF @Performance >= 60
SET @Bonus = @Salary * 0.05 -- 5%
ELSE
SET @Bonus = 0 -- No bonus
RETURN @Bonus
END
-- Usage Example:
SELECT Name, Salary,
dbo.CalculateBonus(Salary, Performance) as Bonus
FROM Employees
Calculate Bonus рдХреЛ click рдХрд░реЗрдВ function run рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП...
ЁЯУК All Employees Bonus Report