Câu hỏi phỏng vấn T-SQL
Câu hỏi

Chèn kết quả của một thủ tục ...

Câu trả lời

Để chèn kết quả của một thủ tục lưu trữ (stored procedure) vào một bảng tạm thời (temporary table) trong SQL Server, bạn có thể sử dụng một trong các phương pháp sau:

  1. Sử dụng câu lệnh INSERT INTO kết hợp với EXEC hoặc EXECUTE để chèn kết quả trực tiếp từ thủ tục lưu trữ vào bảng tạm thời:

    -- Tạo bảng tạm thời
    CREATE TABLE #TempTable (
        Column1 DataType,
        Column2 DataType,
        ...
    );
    
    -- Chèn kết quả từ thủ tục lưu trữ vào bảng tạm thời
    INSERT INTO #TempTable
    EXEC MyStoredProcedure;
  2. Sử dụng OPENROWSET để chèn kết quả từ thủ tục lưu trữ vào bảng tạm thời, đặc biệt khi thủ tục lưu trữ nằm trên một server khác:

    -- Tạo bảng tạm thời
    SELECT * INTO #TempTable
    FROM OPENROWSET('SQLNCLI', 'Server=ServerName;Trusted_Connection=yes;',
    'EXEC Database.Schema.MyStoredProcedure');
  3. Nếu thủ tục lưu trữ trả về nhiều bộ kết quả, bạn có thể sử dụng một thủ tục lưu trữ khác để lặp qua từng bộ kết quả và chèn chúng vào bảng tạm thời.

Lưu ý rằng bảng tạm thời sẽ tồn tại trong phạm vi của phiên làm việc hiện tại và sẽ bị xóa khi phiên làm việc kết thúc, trừ khi bạn sử dụng bảng tạm thời toàn cục (bắt đầu bằng ##), nó có thể được truy cập bởi bất kỳ phiên làm việc nào khác trên cùng một instance của SQL Server.

Citations:
[1] https://vikitranslator.com/translate-english-vietnamese
[2] https://www.singlestore.com/forum/t/copy-sp-output-i...

expert

expert

Gợi ý câu hỏi phỏng vấn

middle

Cung cấp một ví dụ về Left Outer Join kèm theo điều kiện loại trừ.

middle

Khác nhau giữa Azure SQL Database và Azure SQL Managed Instance?

junior

Khi nào tôi nên sử dụng khóa chính hoặc chỉ mục?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào