Stored procedure sql server là gì

Stored procedure là tập hợp một hoặc nhiều câu lệnh T-SQL thành một nhóm đơn vị xử lý logic và được lưu trữ trên Database Server. Khi một câu lệnh gọichạy stored procedure lần đầu tiên thì SQL Server sẽ chạy nó và lưu trữ vào bộ nhớ đệm, gọi là plan cache, những lần tiếp theo SQL Server sẽ sử dụng lại plan cachenên sẽ cho tốc độ xử lý tối ưu.

Stored procedure rất tiện lợi cho người quản trị database (DBA), nó giúp DBA tạo ra những nhóm câu lệnh và gửi đến một bô phận khác mà họ sẽ không cần quan tâm đến nội dung bên trong stored procedure có gì, họ chỉ quan tâm đến tham số đầu vào và đầu ra.

Ví dụ bạn viết một stored procedure lấy danh sách sản phẩm bán chạy theo ngày, sau đó bạn gửi stored này qua bộ phận development kèm theo tài liệu hướng dẫn sử dụng thì lúc này bộ phận DEV không cận quan tâm đến nội dung bên trong của stored mà chỉ cần thông tin tham số truyền vào và kết quả trả về của stored.

Bài viết này được đăng tại

2. Tạo Stored Procedure trong SQL Server


Chúng ta hãy bắt đầu bằng những ví dụ đơn giản nhất nhé. Giả sử mình có câu truy vấn lấy danh sách sản phẩm như sau:


CREATE PROCEDURE uspProductListASBEGIN SELECT product_name, list_price FROM production.products ORDER BY product_name;END;

Trong đó stored_name là tên của stored mà bạn muốn đặt. Như ở ví dụ ở trên thì tên của nó làuspProductList. Đối với câu lệnh CREATE PROCEDURE thì bạn có thể rút ngắn thành CREATE PROC.

Bây giờ bạn hãy chạy câu SQL tạo stored bằng cách click vào nút Execute ở trên thanh công cụ như hình chụp dưới đây.

Nếu bạn làm đúng tất cả thì sẽ nhận được kết quả là:


Để xem danh sách stored procedure đã tạo trong SQL Server thì bạn hãy vào database ->Programmability > Stored Procedures. Trường hợp không xuất hiện stored vừa tạo thì hãy click dấu xoay tròn để reload.

Xem thêm: Đến Tháng Không Nên Ăn Gì ? Nên Ăn Gì Trong Ngày Kinh Nguyệt Để Đỡ Khó Chịu

3. Gọi Stored Procedure trong SQL Server

Để gọi một stored procedure thì bạn sử dụng lệnhEXECUTE hoặc EXEC theo sau là tên của stored.


EXECUTE sp_name;

Hoặc


EXEC sp_name;

Như ở ví dụ phần 2 thì kết quả sẽ như hình sau:

4. Thay đổi Stored Procedure trong SQL Server

Để thay đổi stored thì bạn sử dụng lệnhALTER PROCEDURE và tên của stored sẽ nằm phía sau.

Ví dụ giờ muốn muốn thay đổi cách sắp xếp kết quả trả về từ product_name thànhlist_pricecủa spuspProductListthì viết như sau:


ALTER PROCEDURE uspProductList AS BEGIN SELECT product_name, list_price FROM production.products ORDER BY list_price END;

Hoặc bạn click chuột phải vào stored cần sửa, sau đó chọn menuModify thì nó sẽ hiển thị ra một trang query mới với cấu trúc của stored cũ.

5. Xóa Stored Procedure trong SQL Server

Để xóa stored procedure thì bạn sử dụng lệnhDROP PROCEDURE hoặcDROP PROC.


Trong đó sp_name là tên của stored muốn xóa.

Xem thêm: Tập Đọc Nhạc Số 5 Lớp 7 Nốt Nhạc Số 5, Xác Định Nốt Nhạc Bài Tập Đọc Nhạc Số 5

Ví dụ mình muốn xóa stored procedure có tên làuspProductList thì sẽ viết như sau:


Như vậy trong bài này đã giới thiệu khái niệm stored procedure là gì, và qua đây bạn cũng đã biết các thao tác như: Tạo stored, sửa stored, chạy stored và xóa stored. Chúc bạn học tốt và hẹn gặp lại bài tiếp theo.

Một stored procedure là một mã SQL đã được chuẩn bị sẵn mà bạn có thể lưu, vì thế mã này có thể được sử dụng lại nhiều lần.

Nếu bạn có một truy vấn SQL được viết lặp lại nhiều lần, hãy lưu nó là một stored procedure và sau đó chỉ cần gọi nó để thực thi.

Bạn cũng có thể chuyển các tham số cho một stored procedure, để stored procedure có thể hoạt động dựa trên các giá trị tham số được truyền vào.

1. Cú pháp của Stored Procedure

CREATE PROCEDURE tên procedure

AS

Câu lệnh SQL

GO;

Câu lệnh thực thi một Stored Procedure:

EXEC tên procedure;

2. Ví dụ về Stored Procedure

Để thực hiện các ví dụ này, bạn cần nhập cơ sở dữ liệu mẫu Northwind vào SQL Server Management Studio. Hãy xem bài viết hướng dẫn ngay dưới đây:

Tham khảo: Hướng dẫn tải và cài đặt dữ liệu mẫu Northwind trong SQL Server Management Studio

Câu lệnh SQL dưới đây tạo ra một stored procedure có tên là “SelectAllCustomers” để chọn tất cả bản ghi từ bảng Customers:

CREATE PROCEDURE SelectAllCustomers

AS

SELECT * FROM Customers

GO;

Câu lệnh thực thi procedure ở trên là:

EXEC SelectAllCustomers;

Bằng cách sử dụng stored procedure các bạn có thể tiết kiệm số dòng lệnh cần phải viết khi có những dòng lệnh lặp lại nhiều lần. Đây là tính năng rất hữu ích khi phải làm việc với các cơ sở dữ liệu lớn và có nhiều dòng lệnh. Trên đây là những gì bạn cần biết về stored procedure và cách sử dụng, chúng ta sẽ ứng dụng trong các ví dụ thực tiễn khi phân tích trong các bài viết sau, đừng quên đón đọc tại BAC's Blog.

Nguồn tham khảo:
https://www.w3schools.com/

Nhu cầu đào tạo doanh nghiệp

BAC là đơn vị đào tạo BA đầu tiên tại Việt Nam. Đối tác chính thức của IIBA quốc tế. Ngoài các khóa học public, BAC còn có các khóa học in house dành riêng cho từng doanh nghiệp. Chương trình được thiết kế riêng theo yêu cầu của doanh nghiệp, giúp doanh nghiệp giải quyết những khó khăn và tư vấn phát triển.

Tham khảo chương trình đào tạo: 

  • Phân tích và trực quan hóa dữ liệu với Tableau
  • Phân tích và trực quan hóa dữ liệu với Power BI

Các bài viết liên quan SQL: 

  • 50 Câu hỏi phỏng vấn về SQL thường gặp
  • Các câu hỏi phỏng vấn SQL phổ biến dành cho Business Analyst

Các bài viết liên quan Power BI: 

  • Power BI là gì?
  • Chỉnh sửa và định hình dữ liệu trong Power BI Desktop
  • Kết hợp dữ liệu trong Power BI Desktop
  • Hướng dẫn kết nối dữ liệu trong Power BI Desktop
  • Hướng dẫn tải & cài đặt Power BI trên máy tính
  • Khóa học Phân tích và trực quan hóa dữ liệu với Power BI

Các bài viết liên quan: 

  • TABLEAU - Giải pháp BUSINESS INTELLIGENCE (BI) - click vào đây
  • Hướng dẫn cài đặt và Sử dụng TABLEAU - click vào đây
  • Tính năng mới trên tableau - verion 2019.1 - click vào đây

BAC - Biên soạn và tổng hợp nội dung

 

Click để đọc tiếp

  • Stored procedure sql server là gì

    6 ví dụ thực tế về Business Intelligence Dashboard

    Business Intelligence Dashboard mang đến khả năng làm chủ dữ liệu cho cả những người không chuyên. Đã có rất nhiều lĩnh vực, hoạt động nhận được lợi ích từ việc sử dụng các BI Dashboard này, đây là 6 ví dụ thực tế để bạn tham khảo.

  • Stored procedure sql server là gì

    9 Phần mềm khảo sát tốt nhất dành cho doanh nghiệp nhỏ

    Phần mềm khảo sát giúp bạn thu thập dữ liệu từ các nhóm mục tiêu. Qua đó, bạn sẽ có được những dữ liệu phân tích chính xác để nghiên cứu thị trường, khảo sát mức độ hài lòng của khách hàng và nhiều ứng dụng thực tế khác.

  • Stored procedure sql server là gì

    8 công cụ trực quan dữ liệu lớn hàng đầu hiện nay

    Dữ liệu lớn có thể xem là một khó khăn với các công cụ xử lý. Tuy nhiên, trong thời đại hiện nay dữ liệu lớn đã không còn xa lạ với các doanh nghiệp. Đây là danh sách 8 công cụ trực quan dữ liệu lớn tốt nhất mà bạn nên cân nhắc sử dụng.

  • Stored procedure sql server là gì

    Sự khác nhau giữa MSBI và Power BI

    Power BI và MSBI là những công cụ Business Intelligence được xếp hàng đầu về chất lượng hiện nay. Chúng giúp các doanh nghiệp đưa ra những quyết định chính xác trong thời gian ngắn thông qua việc phân tích. Nếu bạn còn đang phân vân giữa hai công cụ này thì đây là bài viết dành cho bạn.

    Khi nào dùng stored procedure?

    Sử dụng Stored Procedure khi?.
    Thực hiện những phép toán phức tạp, lặp lại nhiều lần..
    Project đòi hỏi nghiêm ngặt về tốc độ thực thi . ... .
    Trong quá trình tạo Stored Procedure, SQL Server đã tối ưu hóa những dòng lệnh này, điều này giúp cho tốc độ thực thi cao hơn câu lệnh SQL thông thường rất nhiều..

    Storage SQL là gì?

    Stored Procedure một tập hợp các câu lệnh SQL dùng để thực thi một nhiệm vụ nhất định. Nó có thể xem như một hàm trong các ngôn ngữ lập trình. Stored procedure một khái niệm khá phổ biến và được hầu hết các hệ quản trị cơ sở dữ liệu (DBMS) hỗ trợ, tuy nhiên không phải tất cả đều hỗ trợ Stored Procedure.

    Create Proc trong SQL là gì?

    Lệnh CREATE PROC (hoặc CREATE PROCEDURE) dùng để tạo Stored Procedure (thủ tục nội tại) trong CSDL. Thủ tục nội tại một chương trình con (Sub Program). Thủ tục nội tại dùng để thực hiện một xử lý.

    Procedure trong SQL Server là gì?

    Procedure (Thủ tục) một chương trình trong cơ sở dữ liệu gồm nhiều câu lệnh mà bạn lưu lại cho những lần sử dụng sau. Trong SQL Server, bạn có thể truyền các tham số vào procedure, tuy nó không trả về một giá trị cụ thể như function (hàm) nhưng cho biết việc thực thi thành công hay thất bại.