Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / sequence и триггер / 11 сообщений из 11, страница 1 из 1
17.06.2019, 09:07
    #39827080
grinn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sequence и триггер
Добрый день всем.
Есть ли какие-то особенности использования последовательностей в триггерах?
(простейший пример - BEFORE INSERT, в поле ID)
Примеры использования есть, но про возможные проблемы ничего не нашел.
Осуждается ли такой подход, и если да, то почему?
...
Рейтинг: 0 / 0
17.06.2019, 09:16
    #39827082
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sequence и триггер
grinnиспользования последовательностей в триггерахЗачем?
...
Рейтинг: 0 / 0
17.06.2019, 09:21
    #39827083
grinn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sequence и триггер
-2-,

Для того, чтобы в стороннем ПО не заморачиваться с получением ID из сиквенса при добавлении записей в таблицу.
...
Рейтинг: 0 / 0
17.06.2019, 09:58
    #39827102
AserYZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sequence и триггер
grinnДля того, чтобы в стороннем ПО не заморачиваться с получением ID из сиквенса при добавлении записей в таблицу.

Какая версия? IDENTITY чем-то не подходит?
...
Рейтинг: 0 / 0
17.06.2019, 10:17
    #39827108
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sequence и триггер
grinnзаморачиватьсяЧем .nextval принципиально отличается от остальных элементов инсерта?
...
Рейтинг: 0 / 0
17.06.2019, 12:24
    #39827172
grinn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sequence и триггер
Версия 11g, IDENTITY не подходит.
При вставке строк используется JDBC - подготовка значений + вставка через ResultSet.insertRow()
Хотелось бы избавиться от лишнего запроса с получением nextval.
...
Рейтинг: 0 / 0
18.06.2019, 09:34
    #39827542
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sequence и триггер
grinn,
nextval можно іспользовать непосредственно в запросе insert into(id ...) values (s.nextval ...)
мінус, так кодировать надо "всегда"

минус триггера, замедлит вставку

ps
я за тріггер

.....
stax
...
Рейтинг: 0 / 0
18.06.2019, 09:40
    #39827546
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sequence и триггер
Staxминус триггера, замедлит вставкуКогда вставка делается тормознутой средой да и построчно, то подобный шумок погоды не делает.
...
Рейтинг: 0 / 0
18.06.2019, 09:45
    #39827549
Stax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sequence и триггер
ElicStaxминус триггера, замедлит вставкуКогда вставка делается тормознутой средой да и построчно, то подобный шумок погоды не делает.
у нас делал

но если погоды не делает, не вижу причин не использовать триггер

....
stax
...
Рейтинг: 0 / 0
18.06.2019, 09:56
    #39827552
-2-
-2-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sequence и триггер
Staxnextval можно іспользовать непосредственно в запросе insert into(id ...) values (s.nextval ...)нет у автора явного insert.
...
Рейтинг: 0 / 0
18.06.2019, 11:16
    #39827599
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sequence и триггер
С очевидными ограничениями:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
create sequence dropme_s;
Sequence created

create table dropme_t(id number default dropme_s.nextval, val varchar2(10));
Table created

insert into dropme_t(val) select 'row#'||rownum from dual connect by level < 10;
9 rows inserted

select * from dropme_t;
        ID VAL
---------- ----------
         1 row#1
         2 row#2
         3 row#3
         4 row#4
         5 row#5
         6 row#6
         7 row#7
         8 row#8
         9 row#9
9 rows selected
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / sequence и триггер / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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