Các thao tác cơ bản với SQL Server Stored Procedures

SQL Server Stored Procedures
SQL Server Stored Procedures

Trong bài viết này, chúng ta sẽ cùng nhau làm quen với stored procedures trong SQL Server. Bắt đầu bằng việc tạo mới, thực thi, cập nhật và xóa một stored procedure.

Tạo một stored procedure đơn giản

Để tạo mới một stored procedure chúng ta có một cú pháp tổng quát.

Cũng tương tự các cú pháp tổng quát khác, khá nhập nhằng đúng không nào? Tuy nhiên, ở bài viết này, chúng ta sẽ chỉ bắt đầu với một procedure cực kỳ đơn giản. Bây giờ mình sẽ giảm lược tối đa, cú pháp của chúng ta còn lại:

Đã đủ tường minh rồi, bây giờ chúng ta sẽ cùng thực hành. Bắt đầu với một procedure liệt kê tất cả thể loại (genre) trong CSDL Chinook và sắp xếp kết quả theo tên với thứ tự giảm dần. Mã T-SQL của chúng ta lúc này là:

Ở giao diện SSMS của mình.

Khởi tạo stored procedure đầu tiên
Khởi tạo stored procedure đầu tiên

Các bước thực hiện chúng ta cần làm:

  1. Kiểm tra chính xác CSDL chinook đã được chọn
  2. Viết đoạn mã T-SQL khởi tạo procedure phía trên
  3. Thực thi đoạn mã, đảm bảo kết quả trả về là thành công
  4. Tại ‘Object Explorer’ chúng ta tìm kiếm procedure mới tạo tại: Databases -> Chinook -> Programmability -> Stored Procedures. Nếu chưa thấy procedure chúng ta vừa tạo. Các bạn có thể click chuột phải vào đối tượng ‘Stored Procedures’ và chọn ‘Refresh’

Giải thích thêm một xíu về cái tên uspGenreList. Mình sử dụng tiền tố usp để đánh dấu, đây là một user-defined procedure để trong quá trình sử dụng, chúng ta dễ dàng phân biệt với các system procedure. Phần còn lại mô tả công dụng của procedure của chúng ta.

Thực thi một stored procedure

Chúng ta có tận 2 cách để thực hiện một procedure. Một cách đầy đủ, chúng ta sử dụng cú pháp:

Hay, ngắn gọn hơn, chúng ta có cú pháp:

Và tất nhiên sp_name chính là tên chúng ta muốn thực thi. Với procedure vừa tạo phía trên, chúng ta có thể thử một trong hai cách:

Cập nhật một stored procedure

Để cập nhật một stored procedure, chúng ta có thể sử dụng giao diện SSMS:

Cập nhật một stored procedure trên giao diện SSMS
Cập nhật một stored procedure trên giao diện SSMS

Hay chuyên nghiệp hơn, chúng ta sẽ sử dụng cú pháp:

Và cập nhật lại nội dung của procedure. Mình sẽ cập nhập lại procedure uspGenreList, thay đổi một chút logic của nó bằng cách thay đổi chiều sắp xếp dữ liệu.

Sau khi cập nhật lại logic của procedure. Chúng ta hãy thử dùng lệnh thực thi lại procedure uspGenreList xem nó đã hoạt động đúng ý chúng ta chưa.

Xóa một stored procedure

Tương tự với thao tác cập nhật, chúng ta cũng có thể dễ dàng thực hiện trên giao diện SSMS bằng cách:

Xóa một procedure trên giao diện SSMS
Xóa một procedure trên giao diện SSMS

Hay một cách chuyên nghiệp hơn, chúng ta sẽ sử dụng câu lệnh với cú pháp:

hoặc:

Vậy để xóa procedure chúng ta đã tạo trong bài này, câu lệnh của chúng ta sẽ là: