powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как сделать чтобы одной тоже данные не добавлялась дважды
14 сообщений из 14, страница 1 из 1
Как сделать чтобы одной тоже данные не добавлялась дважды
    #39738897
Era2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый утро!! У меня вопрос такой у меня процедура которая добавляеть данные в таблицу через форму Way4.
как сделать чтобы добавленная запись второй раз не добавлялась в таблицу. Я сделал так но тригер ругаеться на это:
procedure opt_insin2_optPdList (target_number doc.target_number%type,
tr_amount doc.trans_amount%type,
tr_curr doc.trans_curr%type,
tr_type doc.trans_type%type,
tr_details doc.trans_details%type,
own_prior opt_list_pd.own_prior%type,
tr_s_amnt opt_list_pd.s_amount%type,
tr_id opt_list_pd.add_inf_1%type,
tr_num opt_list_pd.iban%type,
Emess out nocopy varchar2)
is
begin
if (target_number <> tr_num) then
IF (TR_TYPE IN ('36223','36240','36227'))
THEN
BEGIN
IF (target_number IS NULL OR tr_amount IS NULL OR tr_curr IS NULL OR tr_details IS NULL)
THEN EMESS:='96|NO DATA FOUND TO INSERT';
ELSE
BEGIN
insert into opt_list_pd(iban,amount,curr,p_type,pd_detail,own_prior,s_amount,add_inf_1, )
values (target_number,tr_amount,tr_curR,tr_type,tr_details,own_prior,tr_s_amnt,tr_id);
EMESS:='00|DATA INSERTED';
--COMMIT;
END;
END IF;
END;
ELSE
Emess:='96|INCORRECT TRANS TYPE';
END IF;
ELSE
Emess:='96|INCORRECT TRANS TYPE';
END IF;
end;
...
Рейтинг: 0 / 0
Как сделать чтобы одной тоже данные не добавлялась дважды
    #39738905
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Era2018Добрый утроЯпонец ь , раз запятые не используешь?
...
Рейтинг: 0 / 0
Как сделать чтобы одной тоже данные не добавлялась дважды
    #39738966
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Era2018Добрый утро!! У меня вопрос такой у меня процедура которая добавляеть данные в таблицу через форму Way4.
как сделать чтобы добавленная запись второй раз не добавлялась в таблицу. Я сделал так но тригер ругаеться на это:
Код: 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.
procedure opt_insin2_optPdList (target_number doc.target_number%type,
                                tr_amount doc.trans_amount%type,
                                tr_curr doc.trans_curr%type,
                                tr_type doc.trans_type%type,
                                tr_details doc.trans_details%type,
                                own_prior opt_list_pd.own_prior%type,
                                tr_s_amnt opt_list_pd.s_amount%type,
                                tr_id opt_list_pd.add_inf_1%type,
                                tr_num opt_list_pd.iban%type,
                                Emess out nocopy varchar2)
is
begin
if (target_number <> tr_num)  then
  IF (TR_TYPE IN ('36223','36240','36227'))
    THEN
      BEGIN
        IF (target_number IS NULL OR tr_amount IS NULL OR tr_curr IS NULL OR tr_details IS NULL)
          THEN EMESS:='96|NO DATA FOUND TO INSERT';
            ELSE
              BEGIN
              insert into opt_list_pd(iban,amount,curr,p_type,pd_detail,own_prior,s_amount,add_inf_1, )
                     values (target_number,tr_amount,tr_curR,tr_type,tr_details,own_prior,tr_s_amnt,tr_id);
              EMESS:='00|DATA INSERTED';
              --COMMIT;
              END;
        END IF;
      END;
    ELSE
      Emess:='96|INCORRECT TRANS TYPE';
  END IF;
ELSE
Emess:='96|INCORRECT TRANS TYPE';
  END IF;  
end;



> Я сделал так но тригер ругаеться на это:
1) На что и какими словами этот гадский триггер ругается (точно не в пересказе)?
слова они разные бывают

2) Добавленная второй раз запись в таблицу вставилась, или все руганью обошлось?

http://www.bugtraq.ru/forum/faq/general/smart-questions.html] Как правильно задавать вопросы

p.s. Ну и слог у Вас однако... поставьте mixed en-ru dictionary plugin? 'nj ghj
...
Рейтинг: 0 / 0
Как сделать чтобы одной тоже данные не добавлялась дважды
    #39738980
MaximaXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Era2018,

А оно вообще компилится?
Код: plsql
1.
insert into opt_list_pd(iban,amount,curr,p_type,pd_detail,own_prior,s_amount,add_inf_1, )
...
Рейтинг: 0 / 0
Как сделать чтобы одной тоже данные не добавлялась дважды
    #39738985
Era2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaximaXXL,
Да оно компилится. Запитая там нету.
...
Рейтинг: 0 / 0
Как сделать чтобы одной тоже данные не добавлялась дважды
    #39738991
Era2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim Lejnin,
Тригер ругается на на новое поле которое я добавил для сравнение данных. Это поле я добавил только сравнение.
tr_num opt_list_pd.iban%type,
if (target_number <> tr_num) then
...
Рейтинг: 0 / 0
Как сделать чтобы одной тоже данные не добавлялась дважды
    #39738995
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Era2018,

Полный вывод текста ошибки, а не в Вашем пересказе
Желательно не screenshot, а в виде текста оформленного тэгами FIX или SRC
...
Рейтинг: 0 / 0
Как сделать чтобы одной тоже данные не добавлялась дважды
    #39739051
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
alter table opt_list_pd add constraint opt_list_pd$uk unique (iban)
...
Рейтинг: 0 / 0
Как сделать чтобы одной тоже данные не добавлялась дважды
    #39739073
Era2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous, спасибо
...
Рейтинг: 0 / 0
Как сделать чтобы одной тоже данные не добавлялась дважды
    #39739113
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Era2018andrey_anonymous, спасибо

Мессир, когда создается приложение, в частности way4, объекты планируются для обеспечения максимальной производительности.

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

Такие вещи, в общем случае требуется согласовывать с разработчиками.
...
Рейтинг: 0 / 0
Как сделать чтобы одной тоже данные не добавлялась дважды
    #39739127
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim LejninEra2018andrey_anonymous, спасибо

Мессир, когда создается приложение, в частности way4, объекты планируются для обеспечения максимальной производительности.
Не факт, что добавление индекса, который требуется для обеспечения уникальности, не снизят производительность бизнес критических операций.

Ну принципиально нерабочий
Era2018тригер ругаеться
триггер-то точно не снизит :) :) :)

Одна надежда - что работа ТС подвергается code review.
...
Рейтинг: 0 / 0
Как сделать чтобы одной тоже данные не добавлялась дважды
    #39739152
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,

Да понятно все, это я к тому, что он слишком быстро сказал спасибо
...
Рейтинг: 0 / 0
Как сделать чтобы одной тоже данные не добавлялась дважды
    #39739176
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejninон слишком быстровставит после запятой 21745796 , и iban ый триггер больше не будет ругаться на запятую.
...
Рейтинг: 0 / 0
Как сделать чтобы одной тоже данные не добавлялась дважды
    #39739497
Era2018
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-2-,
Запятая там нету
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как сделать чтобы одной тоже данные не добавлялась дважды
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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