powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / zapolnyat' id v triggere
7 сообщений из 7, страница 1 из 1
zapolnyat' id v triggere
    #37572781
beka4elovekveka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1) Создать новый Sequence.
3) Создать триггер на таблицу MY_TEST_TABLE, в котором будет заполняться ID из созданного ранее Sequence.
...
Рейтинг: 0 / 0
zapolnyat' id v triggere
    #37572805
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
beka4elovekveka1) Создать новый Sequence.
3) Создать триггер на таблицу MY_TEST_TABLE, в котором будет заполняться ID из созданного ранее Sequence. давай мы тебе их порешаем но за деньги?
...
Рейтинг: 0 / 0
zapolnyat' id v triggere
    #37766428
dimyaz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
добрый день.
Я не студент и сессию не сдаю, но тоже встречался с этими задачами. И честно говоря не сильно их понял.
Но примерно для себя задачу перефразировал так: Какие бы строки пользователи в эту таблицу не вставляли, сделать так, чтобы в поле ID вставлялось значение последовательности из тригера.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
create or replace trigger id_fill_trig
before insert on my_test_table
for each row
BEGIN
  :NEW.id := test_seq.nextval;
END;
/



Работает вроде норм, если в ID ставить простые числа при вставке, но вот если пользователь заиспользует последовательность во вставке то произойдет скачек последовательности:

Код: sql
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.
SQL> insert into my_test_table
  2  values (12312,EMPTY_CLOB(),EMPTY_BLOB(),'test3',sysdate,null);

1 row created.

SQL> insert into my_test_table
  2  values (1124,EMPTY_CLOB(),EMPTY_BLOB(),'test3',sysdate,null);

1 row created.

SQL> select id from my_test_table;

        ID
----------
       214
       215

SQL> insert into my_test_table
  2  values (dy_0001_test_seq.nextval,EMPTY_CLOB(),EMPTY_BLOB(),'test3',sysdate,
null);

1 row created.

SQL> select id from my_test_table;

        ID
----------
       214
       215
       217

SQL>


получается растрата последовательности впустую. Поэтому у кого какие мысли есть насчет этой задачи?
...
Рейтинг: 0 / 0
zapolnyat' id v triggere
    #37766460
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimyazу кого какие мысли есть насчет этой задачи?

http://ithappens.ru/story/4016
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
zapolnyat' id v triggere
    #37766469
dimyaz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

чет не понял, что находится по этой ссылке
...
Рейтинг: 0 / 0
zapolnyat' id v triggere
    #37766497
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimyaz получается растрата последовательности впустую.мир уже никогда не будет прежним
Dimitry Sibiryakov http://ithappens.ru/story/4016
...
Рейтинг: 0 / 0
zapolnyat' id v triggere
    #37766730
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SERG1257dimyaz получается растрата последовательности впустую.мир уже никогда не будет прежним
Dimitry Sibiryakov http://ithappens.ru/story/4016


мне рассказывали о человеке, который при вождении машины с беспокойством думал о том как при каждом обороте двигателя, истираются цилиндры и выгорают клапаны..
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / zapolnyat' id v triggere
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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