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

Cách sử dụng biến bảng trong câu lệnh sql động?

Trên SQL Server 2008+, bạn có thể sử dụng Tham số có giá trị bảng để chuyển một biến bảng vào câu lệnh SQL động miễn là bạn không cần cập nhật các giá trị trong chính bảng đó.

Vì vậy, từ mã bạn đã đăng, bạn có thể sử dụng phương pháp này cho @TSku nhưng không dành cho @RelPro

Cú pháp mẫu bên dưới.

CREATE TYPE MyTable AS TABLE 
( 
Foo int,
Bar int
);
GO


DECLARE @T AS MyTable;

INSERT INTO @T VALUES (1,2), (2,3)

SELECT *,
        sys.fn_PhysLocFormatter(%%physloc%%) AS [physloc]
FROM @T

EXEC sp_executesql
  N'SELECT *,
        sys.fn_PhysLocFormatter(%%physloc%%) AS [physloc]
    FROM @T',
  N'@T MyTable READONLY',
  @[email protected] 

physloc cột được bao gồm chỉ để chứng minh rằng biến bảng được tham chiếu trong phạm vi con chắc chắn giống với phạm vi bên ngoài chứ không phải là một bản sao.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server Internals:Các toán tử có vấn đề Pt. II - Băm

  2. Chèn dữ liệu trong SQL Server 2017

  3. Làm thế nào để cài đặt localdb riêng biệt?

  4. Không có khóa chính hoặc khóa ứng viên nào trong bảng được tham chiếu khớp với danh sách cột tham chiếu trong khóa ngoại

  5. SQL Server 2016:Tạo người dùng cơ sở dữ liệu