Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách tạo một thủ tục được lưu trữ trong SQL Server

Để tạo một thủ tục được lưu trữ trong SQL Server:

  1. Nhấp vào Truy vấn Mới trên thanh công cụ SSMS
  2. Nhập (hoặc dán) TẠO THỦ TỤC tuyên bố (ví dụ bên dưới)
  3. Nhấp vào Execute trên thanh công cụ

Điều này sẽ thêm thủ tục được lưu trữ vào cơ sở dữ liệu. Bạn có thể thấy nó bên dưới nút Thủ tục được lưu trữ trong Trình khám phá đối tượng.

Dưới đây là ảnh chụp màn hình và chi tiết hơn cho các bước trên.

Truy vấn mới

Nhấp vào Truy vấn mới trong thanh công cụ SSMS:

Tuyên bố VỀ QUY TRÌNH TẠO

Nhập TẠO THỦ TỤC tuyên bố.

Ví dụ

Đây là ví dụ về TẠO THỦ TỤC tuyên bố:

 TẠO THỦ TỤC Công việc mới nhất @Count int ASSET ROWCOUNT @CountSELECT Tên tác vụ làm nhiệm vụ mới nhất, Nhiệm vụ theo ngày tháng 

Tập lệnh này tạo một thủ tục được lưu trữ có tên là LatestTasks chấp nhận một tham số có tên là Count.

Cách viết Tuyên bố về QUY TRÌNH TẠO

Bạn bắt đầu tập lệnh của mình với CREATE PROCEDURE [procedure_name] NHƯ.

Ví dụ:để tạo một thủ tục được lưu trữ có tên là GetCustomer, hãy bắt đầu với những điều sau:

 TẠO THỦ TỤC GetCustomer AS 

Làm theo điều đó với mã SQL cho thủ tục được lưu trữ - giống như trong ví dụ trên.

Nếu thủ tục được lưu trữ là chấp nhận các tham số, hãy thêm các tham số này và kiểu dữ liệu của chúng vào dòng đầu tiên. Đặt tiền tố tên tham số bằng @ ký hiệu.

Ví dụ:để thêm một tham số có tên là CustomerId với kiểu dữ liệu là Integer:

 TẠO THỦ TỤC GetCustomer @CustomerId int AS 

Thực hiện câu lệnh

Nhấp vào Execute trên thanh công cụ để chạy câu lệnh SQL tạo thủ tục được lưu trữ.

Hoặc, nhấn F5 trên bàn phím của bạn.

Bây giờ bạn sẽ thấy quy trình được lưu trữ trong Trình khám phá đối tượng.

Thực hiện quy trình đã lưu trữ

Để thực thi hoặc gọi thủ tục đã lưu trữ, hãy sử dụng EXECUTE hoặc EXEC lệnh (cả hai đều làm điều tương tự).

Vì vậy, nó có thể là thế này:

 THỰC HIỆN GetCustomer @CustomerId =7 

hoặc cái này:

 EXEC GetCustomer @CustomerId =7 

Ở trên chuyển một tham số có tên là CustomerId với giá trị là 7. Việc thay đổi giá trị này sẽ xử lý một khách hàng khác.

Ảnh chụp màn hình sau đây cho thấy tác dụng của việc truyền một tham số khác. Hai EXEC các câu lệnh được chạy dựa trên cùng một thủ tục được lưu trữ, nhưng mỗi câu lệnh chuyển một giá trị tham số khác nhau:

Thực thi một thủ tục đã lưu trữ từ GUI

Bạn có thể gọi một thủ tục được lưu trữ ngay từ Object Explorer trong SSMS GUI.

Chỉ cần nhấp chuột phải vào thủ tục đã lưu trữ và chọn Thực thi thủ tục đã lưu trữ ... :

Điều này dẫn đến hộp thoại “Thủ tục thực thi” sau xuất hiện, nơi bạn có thể cung cấp giá trị cho bất kỳ tham số nào mà thủ tục được lưu trữ sẽ sử dụng:


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển một varchar chứa đầy các giá trị được phân tách bằng dấu phẩy vào hàm SQL Server IN

  2. Làm cách nào để sử dụng ROW_NUMBER ()?

  3. Ghi tệp csv vào cơ sở dữ liệu SQL Server bằng python

  4. Zero SQL bế tắc theo thiết kế - bất kỳ mẫu mã nào?

  5. Không bằng toán tử <>! =Trên NULL