Company insights

การสร้าง Stored Procedure ใน SQL Server


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 ได้อย่างเป็นระบบ
สามารถเรียกใช้งานซ้ำได้ เพิ่มประสิทธิภาพในการทำงาน
และช่วยให้การพัฒนาระบบฐานข้อมูลมีความเป็นระเบียบมากขึ้น