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

SQL:mệnh đề in trong thủ tục được lưu trữ:cách chuyển giá trị

Đối với SQL Server 2005, hãy xem bài viết Mảng và danh sách tuyệt vời của Erland Sommarskog trong SQL Server 2005, bài viết này chỉ ra một số kỹ thuật cách xử lý danh sách và mảng trong SQL Server 2005 (ông cũng có một bài viết khác dành cho SQL Server 2000).

Nếu bạn có thể nâng cấp lên SQL Server 2008, bạn có thể sử dụng tính năng mới được gọi là "bảng giá trị tham số":

Đầu tiên, hãy tạo một loại bảng do người dùng xác định

CREATE TYPE dbo.MyUserIDs AS TABLE (UserID INT NOT NULL)

Thứ hai, sử dụng loại bảng đó trong thủ tục được lưu trữ của bạn làm tham số:

CREATE PROC proc_GetUsers @UserIDTable MyUserIDs READONLY 
AS
SELECT * FROM dbo.Users
    WHERE userid IN (SELECT UserID FROM @UserIDTable)

Xem chi tiết tại đây.

Marc



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CEILING () Ví dụ trong SQL Server

  2. Tham gia đến MAX bản ghi ngày trong nhóm

  3. Cập nhật Dữ liệu Salesforce bằng Con trỏ Máy chủ SQL

  4. Không kết thúc sử dụng đóng một kết nối SQL đang mở

  5. Lỗi máy chủ SQL - HRESULT E_FAIL đã được trả về từ một cuộc gọi đến thành phần COM