передача нескольких параметров с табличным значением параметра в хранимую процедуру
Можем ли мы передать табличные параметры и нормальные параметры,такие как integer, varchar etc..to одна хранимая процедура?Если мы можем, то как их передать? В настоящее время у меня есть следующее
Изменить процедуру InsertData
(
@slno nvarchar(255),
@OrderNo nvarchar(255),
@M3 M3 только для чтения
)
когда я передаю параметры из переднего конца, это дает мне ошибку " строка или двоичные данные будут усечены.Данные для табличного параметра "@M3" не соответствуют табличному типу параметра.Заявление было прекращено."
Dnyaneshwar Kondbale
@slno и @OrderNo вы определили как nvarchar(255), пожалуйста ,проверьте длину обоих это может быть больше 255, или вы определили M3 как тип в вашей базе данных пожалуйста, проверьте значение pass для M3, имеющего большую длину больше, чем вы определили.
Ошибка "строковые или двоичные данные будут усечены" возникает при попытке передать или оценить значение
к некоторому параметру с большей длиной, чем задано для этого параметра.
pwavell
длина @slno и @OrderNo в порядке.а M3-это тип таблицы.на самом деле синтаксис ( @M3 M3 READONLY), и у меня есть wriiten slno и orderno внутри фигурных скобок, потому что если они написаны вне фигурных скобок, то процедура не компилируется.В этом ли проблема?
Dnyaneshwar Kondbale
нет, это не проблема.. Я jst хочу знать , что вы определили тип M3 в своей базе данных, поэтому во время определения M3 вы пишете как a as varchar(30).. n all.. Я думаю, что проблема, которую вы получаете, заключается в определении M3 и значении, переданном для M3.
Saurabh_Tiwari
@pwavell не могли бы вы поделиться определением типа таблицы и кодом C#, используемым для вызова хранимой процедуры.