Cách tạo Stored Procedure trong SQL Server đơn giản

Bạn đã nghe nhiều về Stored Procedure trong SQL tuy nhiên lại chưa viết cách tạo Stored Procedure SQL. Ngày hôm nay chúng ta sẽ cùng nhau tìm hiểu về cách tạo một Stored Procedure trong SQL chi tiết ngay nhé!

Cách tạo Stored Procedure trong SQL

1. Stored Procedure là gì?

Một stored procedure SQL ( viết tắt là SP ) là một bộ sưu tập những câu lệnh SQL và những logic lệnh SQL được biên dịch và tàng trữ trong cơ sở tài liệu. Stored procedures trong SQL được cho phép tất cả chúng ta tạo những truy vấn SQL để được tàng trữ và thực thi trên sever. Stored procedures hoàn toàn có thể cũng được tàng trữ và sử dụng lại .
Mục đích chính của Stored Procedure là ẩn những truy vấn SQL trực tiếp từ code và cải tổ hiệu suất của cơ sở tài liệu khi triển khai những lệnh SELECT, UPDATE, DELETE .

Bạn có thể tạo và khởi chạy Stored Procedure sử dụng Object Explorer trong SQL Server hoặc sử dụng SQL Server Management Studio. 

2. Tại sao chúng ta sử dụng SET NOCOUNT ON trong một Stored Procedure?

SET NOCOUNT ON là một dòng mã được sử dụng trong SQL để không trả về giá trị cho một số lượng hàng nào đó trong khi triển khai truy vấn. Nó có nghĩa là không được giám sát .
Và khi bạn SET NOCOUNT OFF thì những câu truy vấn sẽ tác động ảnh hưởng đến giá trị của tổng thể những hàng .

3. Có bao nhiêu kiểu Stored Procedure?

Có 2 kiểu có sẵn của Stored Procedure trong SQL Server đó là:

  • Người dùng định nghĩa Stored Procedure
  • Stored Procedure hệ thống

3.1. Người dùng định nghĩa Stored Procedure

Người dùng định nghĩa Stored Procedure được tạo bởi những nhà phát triển cơ sở dữ liệu hoặc những người quản trị cơ sở dữ liệu. Các SP này chứa nhiều hơn 1 câu lệnh SQL để chọn, cập nhật hoặc xóa các bản ghi từ các bản ghi cơ sở dữ liệu. Người dùng định nghĩa SP là hỗn hợp của các lệnh DDL ( Data Definition Language – Ngôn ngữ định nghĩa dữ liệu) và DML ( Ngôn ngữ thao tác dữ liệu). 

Các SP người dùng định nghĩa được phân loại thêm thành 2 kiểu :

  •  T-SQL stored procedures: T-SQL (Transact SQL – SQL giao dịch) là các SP nhân và trả về các tham số. Các quá trình SP truy vấn như thêm, cập nhật, xóa hoặc không có tham số. Đây là một trong những cách phổ biến nhất để viết SP trong SQL Server. 
  • CLR stored procedures: CLR (Common Language Runtime) SPs được viết trong một CLR dựa trên ngôn ngữ lập trình như C# hoặc VB. NET và được thực thi bởi .NET Framework.

3.2. Stored Procedure hệ thống

Stored procedures mạng lưới hệ thống được tạo ra và thực thi bởi SQL Server cho những hoạt động giải trí quản trị sever. Người tăng trưởng thường không hề ảnh hưởng tác động được lên SP mạng lưới hệ thống .

3.3. Đăng nhập vào cơ sở dữ liệu SQL Server 

Đăng nhập vào cơ sở tài liệu SQL để tất cả chúng ta hoàn toàn có thể đạt được những điều sau :

  • Cách tạo một truy vấn SELECT dựa trên Stored Procedure mà trả về tất cả các bản ghi
  • Cách tạo một tham số dựa trên truy vấn SELECT Stored Procedure mà trả về các bản ghi dựa trên các tham số
  • Cách tạo một truy vấn INSERT dựa trên Stored Procedure
  • Cách tạo một truy vấn UPDATE dựa trên Stored Procedure
  • Cách tạo một truy vấn DELETE dựa trên Stored Procedure

Đăng nhập vào SQL SERVER với tên sever của bạn .
Stored Procedure trong SQLKhởi động SQL lên nhập tên máy chủ – Server nameBạn hãy chuyển sang tên sever của bạn từ hình trên .

Ví dụ: trên máy chủ của mình là “LAPTOP-TSLTAQL8\CHINH”.

Stored Procedure trong SQLChọn database của bạn cần thao tácPhần Stored Procedure nằm trong mục DataBase >> Một cơ sở tài liệu của bạn >> Programmability >> Stored Procedures .
SP trống sẽ được tạo như hình sau :

Mẫu trống được đã tạo bởi SQL Server cho một SP sẽ trông như sau. Lệnh CREATE PROCEDURE SQL được sử dụng để tạo một SP, tiếp theo là tên của SP và tham số của nó. Vùng BEGIN và END được sử dụng để định nghĩa truy vấn cho sự hoạt động giải trí. Đây là nơi bạn sẽ viết những truy vấn SELECT, UPDATE, INSERT, hoặc DELETE .
Stored Procedure trong SQLKhung code mẫu này là nơi bạn có thể tạo Stored Procedure trong SQL

4. Làm sao để viết bình luận trong SQL Server? 

Bạn hoàn toàn có thể phản hồi trong SQL Server theo những cách sau :

  • Hai dấu “ // ” để tạo bình luận trên 1 dòng
  • Bắt đầu với /* …. Và kết thúc với */ cho bình luận nhiều dòng.

5. Quy ước đặt tên cho các Stored Procedure là gì?

Chúng ta phải tuân theo chuẩn quy ước đặt tên .
Với SP người dùng định nghĩa, quy tắc đặt tên được khuyến nghị là thêm một số tiền số vào SP của bạn .

  • sp
  • stp
  • stp_
  • udstp
  • udstp_

Việc đặt tên theo nguyên tắc là để xác lập những đối tượng người dùng. Bằng việc thêm những tiền tố này vào tên, tất cả chúng ta hoàn toàn có thể xác lập rõ rành đối tượng người tiêu dùng đó là một SP .

6. Làm sao để tạo một Stored Procedure để chọn dữ liệu từ một từ một bảng cơ sở dữ liệu sử dụng câu lệnh truy vấn SELECT?

6.1. Tạo một bảng cơ sở dữ liệu

Đầu tiên, tất cả chúng ta hoàn toàn có thể tạo và thực thi một vài SP, tất cả chúng ta cần một bảng cơ sở tài liệu .
Mình sẽ tạo một bảng cơ sở tài liệu có tên là “ tblMenbers ” sử dụng. Như bạn hoàn toàn có thể thấy, bảng của mình có 4 cột tại cột tiên phong có kiểu IDENTITY. Khi bảng được tạo, hãy mở bảng ra và thêm tài liệu bằng cách nhập thủ công bằng tay tài liệu vào bảng .
Stored Procedure trong SQLTạo một bảng trong cơ sở dữ liệu

6.2. Cách để tạo một SELECT SP

Nhấp trên cơ sở dữ liệu của bạn và mở rộng mục “Programmability” và nhấp phải chuột vào  “Stored Procedures”. Hoặc nhấn tổ hợp phím CTRL + N để tạo một cửa sổ truy vấn mới. Trong vùng truy vấn giữa BEGIN và END, nhập SELECT của bạn để chọn bản ghi từ bảng. Hãy xem lệnh Select để dưới đây:

Stored Procedure trong SQLViết câu lện select cho Stored Procedure trong SQL

Bây giờ bạn hãy nhấn phím F5 để thực thi SP này. Khi đó bạn sẽ nhận được thông báo “ Command (s) completed successfully”. Bây giờ bạn hãy đi đến mục Programmability >> Stored Procedures >> nhấn phải chuột và chọn Refresh

Bạn hoàn toàn có thể thấy hình ảnh như sau : Một SP mới có tên là stpGetAllMembers được tạo ra .
Stored Procedure trong SQLChọn thư mục Stored Procedure

6.3. Thực thi các Stored Procedure

Trong giao diện bên dưới, nhấn phải chuột vào tên của SP và chọn Execute Stored Procedure để thực thi một SP. Từ đó, bạn hoàn toàn có thể sửa đổi những SP hiện tại .
Stored Procedure trong SQLTạo một Stored Procedure mới, thực thi và điều chỉnhNgoài ra, bạn hoàn toàn có thể thực thi một SP từ hành lang cửa số Query – Truy vấn .

Để chạy Stored Procedure trong SQL Server Management Studio. Hãy chuyển đến cửa sổ Query hoặc nhấn tổ hợp phím Ctrl + N để mở một cửa sổ truy vấn mới cà nhập theo dòng lệnh sau đây: 

  • Cú pháp: EXEC
  • Ví dụ: EXEC stpGetAllMembers

Bây giờ, chúng ra chạy Stored Procedure có tên là stpGetAllMembers. Kết quả thu được như sau:

Đây là bảng kết quả khi bạn truy vấn

7. Các tham số của một Stored Procedure là gì?

Các tham số trong những SP được sử dụng để truyền giá trị nguồn vào và trả về những giá trị tại đầu ra. Có 2 kiểu tham số :

  • Tham số đầu vào – Truyền các giá trị cho SP
  • Tham số đầu ra – Trả về các giá trị từ một SP.

8. Làm sao để tạo các tham số trong một Stored Procedure truy vấn SELECT mà trả về các bản ghi theo tham số được truyền vào?

Trong những bước trước, tất cả chúng ta đã tạo một SP đơn thuần mà trả về toàn bộ những hàng của một bảng. Bây giờ, hãy tạo một SP mới mà sẽ lấy một cái tên của thành phố như một tham số nguồn vào và sẽ trả về tổng thể những hàng có tên thành phố giống với giá trị nguồn vào .
Đây là SP đã được update với tham số @ CityName .
Stored Procedure trong SQLCâu lệnh truy vấn select có tham số truyền vàoThực thi nó .
Để chạy SP này bạn hãy nhập lệnh dưới đây vào công cụ truy vấn của SQL – SQL query tool .

EXEC GetMemberByCityName   @CityName = ‘mal’

Hoặc sử dụng giao diện dưới đây
Giá trị truyền vào

Code để thực thi sẽ như sau:

Code thực thi câu lệnh có tham sốĐầu ra tác dụng :
Stored Procedure trong SQLĐây là bảng kết quả khi thực thi

9. Cách để tạo một truy vấn INSERT dựa trên Stored Procedure?

Chúng ta hoàn toàn có thể sử dụng truy vấn INSERT INTO để chèn tài liệu vào một bảng. Lệnh SQL tạo một SP INSERT với 3 tham số như sau :
Stored Procedure trong SQLLệnh insert trong Stored Procedure trong SQLNhấp phải chuột vào mục Stored Procedure trong Object Explorer và chọn Refresh .
Stored Procedure trong SQLNhấn phải chuột chọn tạo Stored Procedure mới gọi là “srpInsertMember” và chọn “Excute Store Procedure” để thực thiTruyền giá trị của tham số trong hộp thoại thực thi .
Truyền tham số vào hộp thoại thực thiCode dưới đây hoàn toàn có thể được sử dụng để thực thi SP.
Còn đây là code dể thực thiĐầu ra hiệu quả :
Trong hành lang cửa số truy vấn, bạn hoàn toàn có thể kiểm tra xem đã có bản ghi mới cho Member Name “ Mahesh Chand ” được thêm vào bảng chưa
Stored Procedure trong SQLKết quả được tạo ra khi thực thi như sauBạn cũng hoàn toàn có thể chạy SP tương tự như trong code sau :

EXEC stpInsertMember @MemberName = ‘Suhana & Ashish Kalla ‘, @MemberCity = ‘Mumbai ‘, @MemberPhone = N’9022592774xxx’

Đầu ra tác dụng :
Bạn hoàn toàn có thể kiểm tra bản ghi “ Suhana và Ashish Kalla ” được thêm thành công xuất sắc .
Bản ghi đã được thêm thành công

10. Cách để tạo một truy vấn UPDATE dựa trên Stored Procedure?

Hãy tạo một SP mới mà sẽ update một bảng ghi dưa trên cột Member ID. ID được truyền như một tham số nguồn vào. Đây là một SP mới mà sử dụng một lệnh UPDATE … SET … WHERE .
Cập nhật dữ liệu cho CSDLNhấp phải chuột vào stored procedure trong Object Explorer và chọn Refresh. Bạn sẽ thấy SP mới được tạo ra .
Bây giờ, hãy nhấp phải chuột vào tên của SP và chọn Execute stored procedure …. Hãy phân phối giá trị nguồn vào và thực thi .
Nhập giá trị vào bảngBạn cũng hoàn toàn có thể sử dụng SQL Server Management Studio ( SSMS ) .
Sử dụng SQL Server Management Studio

EXEC stpUpdateMemberByID  17,’Gopal Madhavrai’,’Bikaner’,’90454564xxx’

Các hiệu quả phải biểu lộ bạn đã update những giá trị .
Stored Procedure trong SQLCập nhật chi tiết cho “Nirupama Kalla” thành công và cập nhật chi tiết cho “Gopal Madhavrai” thành công

11. Cách tạo một Stored Procedure để xóa các bản ghi sử dụng truy vấn DELETE?

Hãy tạo một SP mà sẽ xóa những bản ghi. SP mới sử dụng một lệnh DELETE và xóa toàn bộ những bản ghi mà có tương quan đến Member ID được cung ứng .
Xóa các bản ghi trong SQLThực thi nó .
Nhấp phải chuột lên Stored Procedure trong Object Explorer và chọn Refresh. Chạy Stored Procedure bằng giao diện .
Bây giờ hãy nhấp chuột phải vào SP một lần nữa và chọn Execute stored procedure. Như bạn hoàn toàn có thể thấy trong ảnh, Mình đã truyền @ MemberID parameter value = 4 .
truyền giá trị 4 cho một bản ghiHãy chạy DELETE SP một cách thủ công bằng tay ( bằng code )

EXEC stpDeleteMemberByMemberID  2

Kết quả đầu ra :
Bạn hoàn toàn có thể thấy trong bản ghi MemberID = 4 đã được xóa thành công xuất sắc .
Kết quả đầu ra đã bị xóa

Vậy là vietgiatrang đã chia sẻ chi tiết cách tạo Stored Procedure trong SQL Server cho việc thêm, cập nhật, xóa các bản ghi. Chúc các bạn thực hiện thành công!
Xem thêm: Cách sửa lỗi realtek hd audio manager win 10 64 bit!

0
0
votes

Đánh giá bài viết