2013-07-17 22 views
6

Tôi đang cố gắng bấm chuột phải vào một thủ tục được lưu trữ trong SQL Server Management Studio 2012 và cố gắng thực hiện một thủ tục được lưu trữ chấp nhận một tham số duy nhất của loại tblType_XXXUser Defined Table Type. Nhưng khi tôi cố gắng để vượt qua một giá trị duy nhất tôi nhận được lỗi nàyLàm thế nào để sử dụng SQL Server Management studio - "Thực hiện thủ tục lưu trữ" cho các loại bảng do người dùng xác định?

Msg 206, Level 16, State 2, Procedure uspGetXXXXXXXX, Line 0 
Operand type clash: int is incompatible with tblType_XXX 

Làm thế nào tôi có thể chỉ định một tham số kiểu tblType_XXX trong SQL Server Management Studio ->Execute Stored Procedure từ UI?

tblType_XXX chỉ chứa một cột kiểu int

Trả lời

14

Bạn cần phải khai báo biến bảng, chèn dữ liệu vào nó nếu cần thiết, hãy gọi thủ tục lưu trữ của bạn không sử dụng @parameter = 1 định dạng:

DECLARE @return_value int, 
     @tblParameter tblType_XXX 

INSERT INTO @tblParameter VALUES (1) 

EXEC @return_value = [dbo].[uspGetXXXXXXXX] 
     @tblParameter 
+0

Vâng, tôi có thể làm điều này. Nhưng câu hỏi của tôi là, nếu tôi có thể sử dụng Management Studio để làm điều này thay vì viết kịch bản. – Rwiti

+0

SSMS tạo mẫu kịch bản cho bạn và bạn có thể điều chỉnh nó thêm dòng khai báo và nhận xét/xóa tên tham số. Vì tôi thường điều chỉnh các kịch bản tự tạo nên tôi đã trả lời theo cách này. Xin lỗi vì sự hiểu nhầm. – Serg

+0

ok .. mặc dù tôi biết điều này .. nhưng kể từ khi tôi đã không có câu trả lời khác .. +1 – Rwiti

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