Tôi đang cố gắng viết một thủ tục lưu sẵn để hỗ trợ phát triển cơ sở dữ liệu của chúng tôi, nhưng tôi đang gặp một số rắc rối khi sử dụng nó. Ví dụ:Sử dụng kết quả của biểu thức (ví dụ: Gọi hàm) trong danh sách tham số thủ tục lưu sẵn?
DECLARE @pID int;
SET @pID = 1;
EXEC WriteLog 'Component', 'Source', 'Could not find given id: ' + CAST(@pID AS varchar);
này mang lại các lỗi (trên SQL Server 2005)
Msg 102, Level 15, State 1, Line 4 cú pháp sai gần '+'.
Ai đó có thể giải thích cho tôi tại sao cú pháp của tôi không chính xác và đúng cách để giải quyết vấn đề này?
Tôi đã hy vọng tránh các biến trung gian. Có cách nào thích hợp để làm điều này mà không giới thiệu chúng? – WorkerThread
Ah, vừa xem giải thích của bạn. Cảm ơn bạn đã làm rõ điều này. – WorkerThread
@Worker - Đó là tất cả một chút khó chịu. MS xác nhận nhiều ở đây https://connect.microsoft.com/SQLServer/feedback/details/352110/t-sql-use-scalar-functions-as-stored-procedure-parameters –