Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 команда insert внутри хранимой процедуры  [new]
Евгенич
Member

Откуда:
Сообщений: 274
Добрый вечер! Прошу помочь.

Пишу хранимку (на MSSQL 2005)
внутри хранимки проверяю некоторую переменную, и в зависимости от этого хочу выполнить/не выполнить вставку в таблицу
--переменная @CorrectPay меняется в цикле
if @CorrectPay!='0' insert into pOKB (CorrectPay,Period) values( @CorrectPay,@iPeriod)

Почему то insert срабатывает всегда вне зависимости от значения @CorrectPay.
В таблице pOKB появляются значения и 0 и не ноль
13 фев 14, 18:45    [15564541]     Ответить | Цитировать Сообщить модератору
 Re: команда insert внутри хранимой процедуры  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
какого типа @CorrectPay ?
13 фев 14, 18:48    [15564561]     Ответить | Цитировать Сообщить модератору
 Re: команда insert внутри хранимой процедуры  [new]
Евгенич
Member

Откуда:
Сообщений: 274
Maxx
какого типа @CorrectPay ?


varchar(5)
13 фев 14, 18:50    [15564570]     Ответить | Цитировать Сообщить модератору
 Re: команда insert внутри хранимой процедуры  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
вы сделайте print перед if и посмотрите что реально в ней..тем паче по коментам у вас там цикл
13 фев 14, 18:53    [15564580]     Ответить | Цитировать Сообщить модератору
 Re: команда insert внутри хранимой процедуры  [new]
o-o
Guest
например, так:
declare @t table (val decimal(18, 2));
declare @s varchar(10) = '0.0';
if @s <> '0' 
insert into @t(val) select @s;
----
(1 row(s) affected)
13 фев 14, 18:53    [15564582]     Ответить | Цитировать Сообщить модератору
 Re: команда insert внутри хранимой процедуры  [new]
Евгенич
Member

Откуда:
Сообщений: 274
Maxx
вы сделайте print перед if и посмотрите что реально в ней..тем паче по коментам у вас там цикл


:( Вкрались пробелы. Спасибо!
13 фев 14, 18:53    [15564586]     Ответить | Цитировать Сообщить модератору
 Re: команда insert внутри хранимой процедуры  [new]
o-o
Guest
Евгенич
Maxx
какого типа @CorrectPay ?


varchar(5)


ну если там varchar(5), то проверьте, может там не просто нули.
а нули с какими-нибудь непечатными символами.
хотя бы проверьте len(@CorrectPay)
13 фев 14, 18:56    [15564594]     Ответить | Цитировать Сообщить модератору
 Re: команда insert внутри хранимой процедуры  [new]
Евгенич
Member

Откуда:
Сообщений: 274
o-o
Евгенич
пропущено...


varchar(5)


ну если там varchar(5), то проверьте, может там не просто нули.
а нули с какими-нибудь непечатными символами.
хотя бы проверьте len(@CorrectPay)


Уже! см.выше. Спасибо!
13 фев 14, 18:57    [15564599]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить