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

T-SQL động SQL và bảng tạm thời

Trước tiên, bạn cần tạo bảng của mình trước rồi nó sẽ có sẵn trong SQL động.

Điều này hoạt động:

CREATE TABLE #temp3 (id INT)
EXEC ('insert #temp3 values(1)')

SELECT *
FROM #temp3

Điều này sẽ không hoạt động:

EXEC (
        'create table #temp2 (id int)
         insert #temp2 values(1)'
        )

SELECT *
FROM #temp2

Nói cách khác:

  1. Tạo bảng tạm thời
  2. Thực thi proc
  3. Chọn từ bảng tạm thời

Đây là ví dụ hoàn chỉnh:

CREATE PROC prTest2 @var VARCHAR(100)
AS
EXEC (@var)
GO

CREATE TABLE #temp (id INT)

EXEC prTest2 'insert #temp values(1)'

SELECT *
FROM #temp


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng chỉ mục trong bảng được tối ưu hóa bộ nhớ máy chủ SQL

  2. SSIS Nhiệm vụ để nhập số lượng cột không nhất quán?

  3. Làm thế nào bạn có thể đặt tên cho các Bảng của Tập dữ liệu mà bạn trả về trong một chương trình đã lưu trữ?

  4. Trả lại nhiều bảng từ một thủ tục được lưu trữ

  5. EXEC sp_executesql với nhiều tham số