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

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

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




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Триггер
СообщениеДобавлено: 02.04.2013 05:29 
Не в сети

Зарегистрирован: 27.03.2013 00:27
Сообщения: 6
Здравствуйте!

Например, необходимо вставить в поле записи SimpleAddress значение исходя из определённых условий, но как ни пробовал - не работает.

Триггер:
UPDATE tblClientsPersons SET [SimpleAddress] = CASE <AddressHome> WHEN 1 THEN 'дом 1' END WHERE ID = <ID>

В поле AddressHome содержится номер дома и надо сделать так, что если в этом поле номер дома равен 1, то в поле SimpleAddress вставить значение 'дом 1'.

Вариант с условием триггера не подходит, так как в поле SimpleAddress надо вставить значения из разных полей, в зависимости от их наличия. Грубо говоря, надо адрес (из разных полей записи) слить в одну строку, типа "123456, Москва, Красная площадь, дом 1, стр. 2, корп. 3, кв. 4".

Спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Триггер
СообщениеДобавлено: 02.04.2013 13:09 
Не в сети

Зарегистрирован: 25.01.2012 11:41
Сообщения: 186
UPDATE tblClientsPersons SET [SimpleAddress] = (CASE WHEN <AddressHome> = 1 THEN 'дом 1' ELSE 'дом2' END) WHERE ID = <ID>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Триггер
СообщениеДобавлено: 03.04.2013 01:52 
Не в сети

Зарегистрирован: 27.03.2013 00:27
Сообщения: 6
RMelnyk писал(а):
> UPDATE tblClientsPersons SET [SimpleAddress] = (CASE WHEN <AddressHome> = 1
> THEN 'дом 1' ELSE 'дом2' END) WHERE ID = <ID>

такой вариант тоже не работает, такое ощущение, что программа не видит эти операторы
даже если просто, без указания поля в условии: CASE WHEN 1 < 2 THEN 'дом 1' ELSE 'дом2' END, тоже не работает


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Триггер
СообщениеДобавлено: 03.04.2013 09:45 
Не в сети

Зарегистрирован: 25.01.2012 11:41
Сообщения: 186
у вас mssql?
подозреваю что access, тогда iif(1<2,1,2)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Триггер
СообщениеДобавлено: 04.04.2013 16:17 
Не в сети

Зарегистрирован: 04.04.2013 16:11
Сообщения: 7
Добавлю такой вопрос:
Можно ли заставить триггер работать при условии изменения КОНКРЕТНОГО поля в таблице?
По умолчанию срабатывает на изменение любого поля


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Триггер
СообщениеДобавлено: 04.04.2013 17:55 
Не в сети

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2233
Откуда: Жуковский, Московская область
San писал(а):
> Добавлю такой вопрос:
> Можно ли заставить триггер работать при условии изменения КОНКРЕТНОГО поля
> в таблице?
> По умолчанию срабатывает на изменение любого поля

Да. Изучите выпадающий список "Когда срабатывает" в окне настройки триггеров.

А коль есть такие вопросы, то будет крайне полезно посмотреть видеоуроки по программе (в т.ч. и по триггерам), ссылки на которые доступны внизу главной страницы сайта.

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Триггер
СообщениеДобавлено: 04.04.2013 18:15 
Не в сети

Зарегистрирован: 04.04.2013 16:11
Сообщения: 7
Ткните пожалуйста как сделать, если не сложно.
Список "когда срабатывает" у меня содержит только один параметр настройки, связанный с полем, это параметр "При изменении поля"
И как его настроить на конкретное поле в таблице, я что-то не догоняю.
У меня срабатывает на изменении любого поля в таблице
Видео я конечно же смотрел. Нужного мне примера там нет


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Триггер
СообщениеДобавлено: 04.04.2013 18:43 
Не в сети

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2233
Откуда: Жуковский, Московская область
Когда Вы выбираете параметр "При изменении поля" (1), появляется дополнительный столбец "Поле" (2), в котором и нужно выбрать требуемое поле (3), при изменении значения в котором будет срабатывать триггер.

P.S. По правому клику на заголовках столбцов проверьте наличие галочки напротив пункта "Поле" открывшегося контекстного меню. Хотя этот столбец появляется всегда при выборе значения "При изменении поля" для параметра "Когда срабатывает".


Вложения:
Комментарий к файлу: Последовательность действий
3.png
3.png [ 34.39 КБ | Просмотров: 43859 ]

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Триггер
СообщениеДобавлено: 04.04.2013 18:49 
Не в сети

Зарегистрирован: 04.04.2013 16:11
Сообщения: 7
Спс Большое
У меня действительно скрыто было "поле" :)
Мне и в голову не пришло что это окно подлежит настройке :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Триггер
СообщениеДобавлено: 04.04.2013 19:52 
Не в сети

Зарегистрирован: 25.04.2012 10:09
Сообщения: 2233
Откуда: Жуковский, Московская область
В программе настраивается практически каждое окно :wink:

_________________
90% ответов на ваши вопросы находятся в руководстве, разделах "Вопросы" и "Видео" на нашем сайте.


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

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


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

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


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

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