powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Увеличение primary key
3 сообщений из 3, страница 1 из 1
Увеличение primary key
    #39245644
Flashik66
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго дня. Столкнулся с такой проблемой: нужно чтобы через табличную форму в бд добавлялись сотрудники, но при этом нельзя вводить id сотрудника, то есть он должен заполняться автоматически. При создании формы в задании было указано выбрать existing trigger. Но сколько я не пытался создать такой триггер не получается, но создается но при этом все равно не добавляется. Пример формы прикреплю. Вот пример триггера который создавался.
авторcreate or replace trigger test_trigger
before insert on sotr
for each row
begin
select test_seq.nextval into :new.id_sotr from dual;
end;

А вот код самой таблицы:

авторCREATE TABLE "SOTR"
( "ID_SOTR" NUMBER(*,0) NOT NULL ENABLE,
"FNAME" VARCHAR2(35) NOT NULL ENABLE,
"LNAME" VARCHAR2(35) NOT NULL ENABLE,
"ADDRESS" VARCHAR2(35) NOT NULL ENABLE,
"TEL_NO" NUMBER,
"SEX" VARCHAR2(35) NOT NULL ENABLE,
"ID_CLIENT1" NUMBER(*,0) NOT NULL ENABLE,
"SALARY" NUMBER,
"KOM" NUMBER,
"POSITION" VARCHAR2(35),
PRIMARY KEY ("ID_SOTR") ENABLE
) ;ALTER TABLE "SOTR" ADD FOREIGN KEY ("ID_CLIENT1")
REFERENCES "CLIENT" ("ID_CLIENT") ENABLE;

Буду благодарен за любую помощь! Работаю в: Oracle Database 11g Express Edition
...
Рейтинг: 0 / 0
Увеличение primary key
    #39245698
Flashik66
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сделал, вот может кому-то понадобится.

CREATE SEQUENCE users_seq_branch –название выражения
START WITH 100 --значение, начиная с которого будут вставляться ключи
INCREMENT BY 1 --шаг
NOMAXVALUE;


И непосредственно сам триггер branch_id_trg:
CREATE OR REPLACE trigger branch_id_trg
BEFORE INSERT ON branch
FOR each row
BEGIN
IF :new.b_no is null THEN
SELECT users_seq_branch.nextval into :new.b_no from dual;
END IF;
end;
...
Рейтинг: 0 / 0
Увеличение primary key
    #39245920
blkangel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Flashik66,
Все проще делается, без триггера.
В Апексе все это предусмотрели, в настройках колонки с ID выбираете Primary Key Source Type = Existing sequence и ниже прописываете название последовательности
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Увеличение primary key
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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