2012-10-08 2 views
0

Буду признателен за третий глаз. У меня есть хранимую процедуру, чтобы выполнить, но я получаю сообщение об ошибке преобразования типа данных VARCHAR в числовой, когда я исполню ее со следующими значениямиSQL - Ошибка преобразования типа данных в числовой.

  EXECUTE packaging 
       @ID out, -- uniqueidentifier 
       @ProductID, --uniqueidentifier 
       @PackagingIN, --numeric(14,0) 
       @BarCodeInd, --nchar(1) 
       @GrossWeightperPack, --numeric(14,0) 
       @UMPID, --uniqueidentifier 
       @Height, --numeric(8,0) 
       @UMPID1, --uniqueidentifier 
       @Width, --numeric(8,0) 
       @UMPID2, -- uniqueidentifier 
       @Length, --numeric(8,0) 
       @UMPID3, --uniqueidentifier 
       1,  --int 
       1, --int 
       @statusid, 
       @counter out --int 

Execute упаковка «0904AC11-7B0D-4326-A67B-49639DF6672C», «57925472 -5F79-424E-806A-47F8B73DAE02 ', 57582682639272,' ',' ', null,' ', null,' 'null,' 'null,' ', 1, 1,' B5266344-286E-46FE-91D1-35DEEDCD6063 », @counter

+0

Вы передаете значение ' «»' с параметром '@ GrossWeightperPack' который определяется как 'numeric (14,0)'. Может быть, это и есть проблема. –

+0

@GrossWeightperPack передается как '', который не конвертируется в числовое (14,0) ... –

+0

Что мне передать? Поскольку я посылаю значения из переднего конца, в том случае, если он является нулевым или пустым, что я должен отправлять вместо этого? – Kobojunkie

ответ

0

у вас есть несколько числовых параметров, передаваемых пустые строки„“

Передайте числовое значение, как у вас есть для параметра PackagingIN, или передать нулевой

Пример:

Execute packaging '0904AC11-7B0D-4326-A67B-49639DF6672C', '57925472-5F79-424E-806A-47F8B73DAE02', 57582682639272, '', null, null, null, null, null,null, null,null,null, 1, 1, 'B5266344-286E-46FE-91D1-35DEEDCD6063', @counter 

Избегайте прохождения пустых строк (если требуется), так как они будут срабатывать вас где-то вдоль линий

Смежные вопросы