2012-04-11 37 views
5

Xin chào Tôi có một proc gọi là Test_ProcA và tôi muốn gọi Test_ProcB. Tôi đã tạo một bảng tạm thời có tên là #temp với các tên và loại dữ liệu phù hợp được trả về bởi Test_ProcB.Không thể lồng vào câu lệnh exec chèn

Làm cách nào để chèn tập hợp kết quả được trả về bởi Test_ProcB vào #temp. Khi tôi cố gắng làm điều đó, tôi vẫn gặp phải lỗi này:

An INSERT EXEC statement cannot be nested.

Bất kỳ ý tưởng và đề xuất nào về những việc cần làm.

Trả lời

11

Bạn đang hướng đến một cơn ác mộng duy trì toàn bộ. Đây là một bài viết cũ (vẫn nhận được cập nhật) về vấn đề bạn đang gặp phải với một số cách thay thế để làm điều tương tự.

http://www.sommarskog.se/share_data.html

4

khi bạn tạo một thủ tục lưu trữ SQL Server bạn có thể có một INSERT INTO #TempTable từ một sp_xxx exec khác nhưng bạn phải kiểm soát mà bên thứ hai này không có kỹ thuật tương tự để quản lý dữ liệu. Bạn chỉ có thể có "một cấp" và những "lồng nhau" gây ra lỗi.

Bạn sẽ phải trích xuất mã và quản lý mã đó bên trong quy trình được lưu trữ cấp một, đây là cách tiếp cận của tôi.

-1

Câu này hoạt động nếu bạn thực hiện các SP từ một máy chủ được liên kết,

Tôi nghĩ rằng đó là do "Levels" được đề cập bởi @Massimo Sedda

Trân trọng!

Các vấn đề liên quan