powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / При срабатывании 'GEN_ID', перестает работать 'distinct'
8 сообщений из 8, страница 1 из 1
При срабатывании 'GEN_ID', перестает работать 'distinct'
    #39727741
Sergey-2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня запрос на вставку:

Код: sql
1.
2.
3.
insert into CONTRACT (DEPARTMENT_ID_EXECUTE, ID, PROPOSAL_ID, ARCHIVE, USER_ID, CLIENT_ID, SEND_STATUS)
    select distinct(DEPARTMENT_ID_EXECUTE), GEN_ID(GEN_ID_CONTRACT, 1), 5, 1, 1, 12, 0
    from DISTRIBUTION_PROPOSAL where PROPOSAL_ID = 5



Проблема в том, что при использовании генератора
Код: sql
1.
GEN_ID(GEN_ID_CONTRACT, 1),


Перестает работать «distinct», соответственно в «CONTRACT» вставляется больше записей, чем нужно.

Вопрос:
Как переделать запрос «select», чтоб заработал «distinct»?

Зараее спасибо за ответ
...
Рейтинг: 0 / 0
При срабатывании 'GEN_ID', перестает работать 'distinct'
    #39727746
Фотография Tonal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
insert into CONTRACT (DEPARTMENT_ID_EXECUTE, ID, PROPOSAL_ID, ARCHIVE, USER_ID, CLIENT_ID, SEND_STATUS)
    select DEPARTMENT_ID_EXECUTE, GEN_ID(GEN_ID_CONTRACT, 1), 5, 1, 1, 12, 0
    from (
        select distinct(DEPARTMENT_ID_EXECUTE)
        from DISTRIBUTION_PROPOSAL where PROPOSAL_ID = 5
    )
...
Рейтинг: 0 / 0
При срабатывании 'GEN_ID', перестает работать 'distinct'
    #39727749
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey-2008,

ID устанавливать в триггере
...
Рейтинг: 0 / 0
При срабатывании 'GEN_ID', перестает работать 'distinct'
    #39727761
Sergey-2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Tonal,

Еще раз спасибо, получилось
...
Рейтинг: 0 / 0
При срабатывании 'GEN_ID', перестает работать 'distinct'
    #39727784
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey-2008,

gen_id нафига вставлен в селект, если он должен быть в инсерте?
Код: sql
1.
2.
3.
insert into CONTRACT (DEPARTMENT_ID_EXECUTE, GEN_ID(GEN_ID_CONTRACT, 1), PROPOSAL_ID, ARCHIVE, USER_ID, CLIENT_ID, SEND_STATUS)
    select distinct(DEPARTMENT_ID_EXECUTE), 5, 1, 1, 12, 0
    from DISTRIBUTION_PROPOSAL where PROPOSAL_ID = 5



gen_id генерится в момент вывода, поэтому с select distinct у вас чушь какая-то.
...
Рейтинг: 0 / 0
При срабатывании 'GEN_ID', перестает работать 'distinct'
    #39727787
Шавлюк Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

Как это gen_id в списке полей?
...
Рейтинг: 0 / 0
При срабатывании 'GEN_ID', перестает работать 'distinct'
    #39727788
Фэйтл Эра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгений,

и на старушку бывает прорушка.
...
Рейтинг: 0 / 0
При срабатывании 'GEN_ID', перестает работать 'distinct'
    #39727800
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Шавлюк Евгений,

эээ, видимо я попутал. Но всё равно, втыкать gen_id в distinct - это плохая идея.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / При срабатывании 'GEN_ID', перестает работать 'distinct'
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]