Программы "Простой софт" www.prostoysoft.ru

ВНИМАНИЕ! РЕКЛАМНЫЕ СООБЩЕНИЯ И ГИПЕРССЫЛКИ В ФОРУМЕ ЗАПРЕЩЕНЫ (посты удаляются автоматически часто с пользователем)
Текущее время: 17.12.2018 04:38

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: 05.09.2017 20:12 
Не в сети

Зарегистрирован: 15.12.2014 16:50
Сообщения: 58
Добрый день.
Есть две организации, от каждой организации выставляем счета и номер должен идти порядковый в зависимости от выбранной организации, т.е:
Написали триггер при добавлении записи:
UPDATE tblSales SET [SaleNumber] = (SELECT IIF(MAX(SaleNumber) = NULL, 1, MAX(SaleNumber) + 1) FROM tblSales WHERE OurCompany = <OurCompany>) WHERE ID = <ID>
И если в таблице уже есть записи с какой либо из двух наших компаний, то всё хорошо работает, номер присваивается порядковый. Но если добавляем запись и указываем нашу организацию впервые то всегда номер равен 0, а по условию IIF(MAX(SaleNumber) = NULL, 1, номер должен равняться единице.
Где мы ошиблись, подскажите, пожалуйста?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 05.09.2017 21:20 
Не в сети
Администратор

Зарегистрирован: 15.02.2006 20:16
Сообщения: 3628
Откуда: Санкт-Петербург
Цитата:
а по условию IIF(MAX(SaleNumber) = NULL, 1, номер должен равняться единице.

В данном случае весь ваш подзапрос в круглых скобках возвращает ноль записей, поэтому ваша функция IIF даже не отрабатывает.
Она может работать, только если есть хотя бы одна запись.

Как вариант решения этой проблемы рекомендую в конце поставить точку с запятой и дописать еще одну SQL-команду:
UPDATE tblSales SET SaleNumber = 1 WHERE SaleNumber = 0

_________________
2B OR NOT 2B = TRUE


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB