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

Gói SSIS không muốn tìm nạp siêu dữ liệu của bảng tạm thời

Sử dụng WITH RESULT SETS để xác định rõ ràng siêu dữ liệu sẽ cho phép SSIS bỏ qua sp_describe_first_result_set bước và sử dụng siêu dữ liệu mà bạn xác định. Ưu điểm là bạn có thể sử dụng điều này để SSIS thực thi SQL có chứa một bảng tạm thời (đối với tôi, hiệu suất đó đã giúp ích rất nhiều); nhược điểm là, bạn phải bảo trì và cập nhật thủ công điều này nếu có bất kỳ điều gì thay đổi.

Mẫu truy vấn (thủ tục được lưu trữ :)

    EXEC ('dbo.MyStoredProcedure')
    WITH RESULT SETS
      (
        (
            MyIntegerColumn INT NOT NULL,
            MyTextColumn VARCHAR(50) NULL,
            MyOtherColumn BIT NULL
        )
      )

Mẫu truy vấn (SQL đơn giản :)

EXEC ('
    CREATE TABLE #a 
      (
        MyIntegerColumn INT NOT NULL,
        MyTextColumn VARCHAR(50) NULL,
        MyOtherColumn BIT NULL
      ) 
    INSERT INTO #a 
      (
        MyIntegerColumn,
        MyTextColumn,
        MyOtherColumn
      )
    SELECT 
        1 AS MyIntegerColumn,
        ''x'' AS MyTextColumn,
        0 AS MyOtherColumn

    SELECT MyIntegerColumn, MyTextColumn, MyOtherColumn
    FROM #a')

WITH RESULT SETS
    (
        (
            MyIntegerColumn INT NOT NULL
           ,MyTextColumn VARCHAR(50) NULL
           ,MyOtherColumn BIT NULL
        )
    )


  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 kiếm tất cả các cột trong bảng?

  2. Chuỗi làm giá trị mặc định cho một cột

  3. Tránh đặt tên theo thủ tục do người dùng lưu trữ SP% hoặc SP_%

  4. Các truy vấn được thực thi lần cuối cho một cơ sở dữ liệu cụ thể

  5. MySQL - Ý nghĩa của KEY CHÍNH, KEY DUY NHẤT và KEY khi được sử dụng cùng nhau trong khi tạo bảng