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

Các tham số thủ tục được lưu trữ trên SQL Server

SQL Server không cho phép bạn chuyển các tham số cho một thủ tục mà bạn chưa xác định. Tôi nghĩ rằng cách gần nhất bạn có thể đạt được loại thiết kế này là sử dụng các thông số tùy chọn như sau:

CREATE PROCEDURE GetTaskEvents
    @TaskName varchar(50),
    @ID int = NULL
AS
BEGIN
-- SP Logic
END;

Bạn sẽ cần bao gồm mọi thông số có thể có mà bạn có thể sử dụng trong định nghĩa. Sau đó, bạn có thể tự do gọi thủ tục theo một trong hai cách:

EXEC GetTaskEvents @TaskName = 'TESTTASK', @ID = 2;
EXEC GetTaskEvents @TaskName = 'TESTTASK'; -- @ID gets NULL here


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để tìm cột nào không có bất kỳ dữ liệu nào (tất cả các giá trị đều là NULL)?

  2. Cách sử dụng API SSIS để đọc một gói và xác định chuỗi nhiệm vụ từ mã (PrecedenceConstraints)

  3. Ký tự thoát trong SQL Server

  4. Sử dụng NOLOCK Hint trong EF4?

  5. Thay đổi định dạng ngày cho phiên hiện tại trong SQL Server