powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Конкатенация и запись данных в таблицу
2 сообщений из 2, страница 1 из 1
Конкатенация и запись данных в таблицу
    #38551659
Добрый день уважаемые программисты. Прошу направить на путь истинный)

Проблема заключается в не корректной записи данных в таблицу после склеивания результатов.

У меня есть 2-е таблицы. 1) Контакты. 2) События

В таблице контакты у меня вот такие данные
Поле ID и поле Email

ID Email
10 mail1@mail.ru
11 mail2@mail.ru
11 mail3@mail.ru
12 mail4@mail.ru

В таблицу событе по такому же id нужно чтоб записалось вот в таком виде, но с условием. Что если событие по id, что если событие было то сделать его UPDATE если нет, то INSERT. И получится должно вот так.

ID Email
10 mail1@mail.ru
11 mail2@mail.ru,mail3@mail.ru
12 mail4@mail.ru
---------------------------------------------------------------------------------------------------------
А получается постоянно вот так
ID Email
10 mail1@mail.ru
11 mail1@mail.ru,mail2@mail.ru,mail3@mail.ru
12 mail1@mail.ru,mail2@mail.ru,mail3@mail.ru,mail4@mail.ru
---------------------------------------------------------------------------------------------------------
Реализацию делаю вот таким образом, но понимаю что условие не правильно работает, так как не могу сообразить как определить ID и прогонять по нему.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
for i in 1..mailSen.count loop
     if(mailSen(i) is not null) then       
      
       SELECT t.contact_email, t.company_id into email, id_company_card FROM investors_contact_cards t WHERE t.contact_id = mailsen(i);  
     
          
         
          SELECT count(i.id_company) INTO id_event_company FROM investors_events i WHERE i.id_company = id_company_card;
                     
          IF (id_event_company = 1) THEN
             email_add := email_add ||','|| email;
             UPDATE investors_events s SET s.question = sendText, s.zgoda = email_add WHERE s.id_company = id_company_card;                       
          ELSE
             email_add := null;
             email_add := email_add ||','|| email;
             INSERT INTO investors_events i
                (ID_COMPANY, DATE_EVENTS, PLACE, AMOUNT, QUESTION, EVENT_TYPY, ZGODA, ID)
             VALUES
                (id_company_card, to_date(sendData,'dd.mm.yyyy'), null, null, sendText, 3, email_add, GET_ID_INV_TYPE.NEXTVAL);
          
          END IF;




        htp.p(id_company_card ||' - '||email_add||'<br/>');

     

       end if;
       email_add := null;
    end loop;
    commit;


   
    exception when others then htp.p('sendMailContact:'||sqlerrm);
END;
...
Рейтинг: 0 / 0
Конкатенация и запись данных в таблицу
    #38551856
Извините, вопрос снят, проблема решена.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / Конкатенация и запись данных в таблицу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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