Mid SQL

What are stored procedures' role in database security?

Stored Procedures can help improve database security by encapsulating business logic

and SQL statements in precompiled code, making it harder for attackers to inject malicious

code.

Roles in database security:

  • Input Validation: Stored procedures allow you to validate user inputs at the

database level, preventing malicious input from being executed.

  • Preventing Direct Access: By using stored procedures, users can be given

permissions to execute specific procedures rather than direct access to the

underlying tables.

  • Encapsulation of Business Logic: The logic within stored procedures is not visible

to the end-user, reducing the attack surface.

  • Audit Logging: Stored procedures can include logic to log user activity for auditing

and compliance purposes.

Example: Instead of allowing users to execute arbitrary INSERT or UPDATE statements, you

can give them permission to execute a specific stored procedure that does the necessary

validation and modification of data.

CREATE PROCEDURE update_salary(IN emp_id INT, IN new_salary DECIMAL)

BEGIN

IF new_salary > 0 THEN

UPDATE employees SET salary = new_salary WHERE id = emp_id;

END IF;

END;

More from SQL Server Tutorial

All questions for this course