Stored Procedure เป็นชุดคำสั่ง SQL ที่ถูกบันทึกไว้ภายในฐานข้อมูล
และสามารถเรียกใช้งานซ้ำได้หลายครั้ง ช่วยลดความซ้ำซ้อนของโค้ด
เพิ่มประสิทธิภาพในการทำงานของฐานข้อมูล และช่วยเพิ่มความปลอดภัย
เพราะสามารถควบคุมสิทธิ์ในการเข้าถึงข้อมูลได้
Stored Procedure มักถูกใช้ในงาน เช่น การเพิ่มข้อมูล การแก้ไขข้อมูล
การลบข้อมูล หรือการดึงข้อมูลเพื่อใช้ในระบบ Application
โครงสร้างการสร้าง Stored Procedure
CREATE PROCEDURE procedure_name
AS
BEGIN -- คำสั่ง SQL
END
ตัวอย่างการสร้าง Stored Procedure สำหรับดึงข้อมูล
ตัวอย่างนี้ใช้สำหรับดึงข้อมูลจากตาราง products
CREATE PROCEDURE sp_get_products
AS
BEGIN SELECT *
FROM products
END
การเรียกใช้งาน Stored Procedure
EXEC sp_get_products
การสร้าง Stored Procedure แบบมี Parameter
Parameter ใช้สำหรับรับค่าจากผู้ใช้งานเพื่อนำไปใช้ในคำสั่ง SQL
CREATE PROCEDURE sp_get_product_by_id
@id INT
AS
BEGIN SELECT *
FROM products
WHERE id = @id
END
การเรียกใช้งาน Stored Procedure ที่มี Parameter
EXEC sp_get_product_by_id @id = 1
ตัวอย่าง Stored Procedure สำหรับเพิ่มข้อมูล
CREATE PROCEDURE sp_insert_product
@product_name VARCHAR(100),
@price DECIMAL(10,2)
AS
BEGIN INSERT INTO products(product_name, price)
VALUES(@product_name, @price)
END
การเรียกใช้งาน
EXEC sp_insert_product
@product_name = 'Mouse',
@price = 350
ตัวอย่าง Stored Procedure สำหรับแก้ไขข้อมูล
CREATE PROCEDURE sp_update_product
@id INT,
@product_name VARCHAR(100),
@price DECIMAL(10,2)
AS
BEGIN UPDATE products
SET product_name = @product_name,
price = @price
WHERE id = @id
END
ตัวอย่าง Stored Procedure สำหรับลบข้อมูล
CREATE PROCEDURE sp_delete_product
@id INT
AS
BEGIN DELETE FROM products
WHERE id = @id
END
การแก้ไข Stored Procedure
ALTER PROCEDURE procedure_name
AS
BEGIN -- คำสั่ง SQL ใหม่
END
การลบ Stored Procedure
DROP PROCEDURE procedure_name
สรุป
Stored Procedure เป็นเครื่องมือสำคัญของ SQL Server
ที่ช่วยให้สามารถจัดการคำสั่ง SQL ได้อย่างเป็นระบบ
สามารถเรียกใช้งานซ้ำได้ เพิ่มประสิทธิภาพในการทำงาน
และช่วยให้การพัฒนาระบบฐานข้อมูลมีความเป็นระเบียบมากขึ้น
