Câu trả lời ngắn gọn:không, bạn không thể làm điều đó.
Bạn phải khai báo trước bảng tạm thời của mình với số cột chính xác sẽ được trả về từ chương trình đã lưu trữ.
Cách giải quyết là sử dụng các bảng liên tục. Ví dụ, bạn có thể có một bảng cố định trong cơ sở dữ liệu của mình được gọi là someSPResults. Bất cứ khi nào someSP được thay đổi để có số lượng cột đầu ra khác nhau, hãy thay đổi định dạng của someSPResults như một phần của quá trình triển khai.
Sau đó, bạn có thể làm điều này:
insert into dbo.someSPresults
exec someSP
Hoặc bên trong someSP, bạn có thể chèn kết quả trực tiếp vào bảng someSPresults như một phần thực thi bình thường. Bạn chỉ cần đảm bảo xác định chính xác bản ghi nào trong bảng someSPresults đến từ mỗi lần thực thi someSP, bởi vì proc được lưu trữ đó có thể được kích hoạt nhiều lần đồng thời, do đó kết xuất nhiều dữ liệu vào một số kết quả.