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:

    sql Copy
    -- 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:

    sql Copy
    -- 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:
https://vikitranslator.com/translate-english-vietnamese
https://www.si...

expert

expert

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

middle

Nêu những gì là giao dịch không thể cam kết?

entry

Có thể đổi tên cơ sở dữ liệu không? Nếu có, bạn sẽ đổi tên cơ sở dữ liệu như thế nào?

junior

Bạn có thể giải thích sự khác biệt giữa Khóa Chính và Chỉ Mục Duy Nhất không?

Bình luận

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

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