Đây có thể là một câu trả lời dễ dàng nhưng tôi đã nhìn chằm chằm vào nó quá lâu ...Cú pháp truy vấn TSQL động đơn giản
Tôi có truy vấn sau đây lấy tham số nhập thủ tục được lưu trữ dưới dạng tên biến và số đếm các bản ghi trong bảng đó. Tôi muốn lấy kết quả của câu lệnh động (@toStartStr) vào một biến (@toStart).
-- @tempTableName = SProc input parameter
DECLARE @toStartStr nvarchar(150);
DECLARE @toStart int;
SET @toStartStr = 'SELECT @toStart = COUNT(ID) FROM ' + @tempTableName;
EXEC(@toStartStr);
Ngay bây giờ, lỗi cho thấy @toStart không thể ghép nối với chuỗi SELECT, nhưng đây là ý chính của những gì tôi muốn. Ai có thể nhìn thấy những gì tôi đang làm sai? Hoặc đề xuất một giải pháp thay thế? FYI SQL 2008 R2. Cảm ơn.
Không phải lúc nào bạn cũng là người dùng ** sa **. Tôi nghĩ rằng quyền quản trị được yêu cầu để thực hiện truy vấn này. Đúng? – Pankaj
Không, tôi chỉ thử nghiệm trên một hệ thống mà tôi không có quyền quản trị và nó chạy tốt. – JNK
@Kanavi Không, quyền quản trị không cần thiết để xem sys.partitions. Bạn đã thử trước khi yêu cầu tôi xóa mã? –