Vấn đề là phạm vi của bảng tạm thời của bạn chỉ tồn tại trong câu lệnh execute (). Bạn có thể chuyển đổi bảng tạm thời của mình thành bảng tạm thời "toàn cục" bằng cách sử dụng 2 dấu thăng -> ## tempTable. Tuy nhiên, tôi thắc mắc tại sao bạn lại sử dụng biến @dynamentlyBuiltWhereClause để tạo câu lệnh SQL của mình.
Tôi đã làm những gì bạn đang làm trong quá khứ, nhưng đã thành công hơn khi tạo SQL từ ứng dụng (sử dụng C # để tạo SQL của tôi).
Ngoài ra, bạn có thể muốn xem xét Biến bảng. Tôi đã thấy một số trường hợp kỳ lạ khi sử dụng bảng tạm thời trong đó ứng dụng sử dụng lại kết nối và bảng tạm thời từ truy vấn cuối cùng vẫn ở đó.