Tôi có một thủ tục được lưu trữ (SS2k8) với một vài tham số có giá trị bảng đôi khi sẽ là null hoặc trống. Tôi đã thấy bài đăng StackOverflow này nói rằng các TVP null / rỗng nên được bỏ qua khỏi danh sách tham số gọi. Vấn đề của tôi là tôi không thể tìm ra cách kiểm tra trống hoặc null bên trong thủ tục được lưu trữ là "IF (@tvp IS NULL)" không thành công khi tạo thủ tục với thông báo 'Phải khai báo biến vô hướng "@tvp"'. Tôi có phải thực hiện CHỌN COUNT (*) trên TVP và kiểm tra số không?
Đoạn trích:
CREATE PROCEDURE [foo] (@tvp [TvpType] READONLY) AS
IF (@tvp IS NOT NULL) -- doesn't work
BEGIN
-- lots of expensive processing
END
ELSE
BEGIN
-- a little bit of cheap processing
END
...