powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Клон ячейки
17 сообщений из 17, страница 1 из 1
Клон ячейки
    #39665790
maverick2104
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день . Как можно решить такую задачку ?

Дано:
Код: plsql
1.
TEST ( id number not null , name varchar2(20) , rowid_nr varchar(20) not null )



Нужно чтоб при :

Код: plsql
1.
insert into test ( id, name) values ( '1' , 'Ana' ) ;



Поле rowid_nr заполнялась значениями rowid таблицы . То есть получается клонирование значении .

Как такое реализовать ? В голове пока что крутится только вариант с тригерром ( before insert on test1........if inserting test1 update test1 ........ )

P.S. Вопросы насчет целесообразности прошу оставить на второй план . Это не я .... :)
...
Рейтинг: 0 / 0
Клон ячейки
    #39665818
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maverick2104,

create view
...
Рейтинг: 0 / 0
Клон ячейки
    #39665823
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maverick2104заполнялась значениями rowid таблицы
rowid такие загадочные и могут не совпадать с ожиданием.
...
Рейтинг: 0 / 0
Клон ячейки
    #39665824
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maverick2104,

insert .. returning rowid;

и делайте (с ним :) , что хотите
...
Рейтинг: 0 / 0
Клон ячейки
    #39665847
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maverick2104,

создать поле как вычисляемое

сам я не пробовал, стыдно, но не знаю как получить rowid (в тч для триггера)

.....
stax
...
Рейтинг: 0 / 0
Клон ячейки
    #39665853
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxmaverick2104,

не знаю как получить rowid (в тч для триггера)

.....
stax

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

....
stax
...
Рейтинг: 0 / 0
Клон ячейки
    #39665868
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxстыдно, но не знаю как получить rowid (в тч для триггера) STFF
...
Рейтинг: 0 / 0
Клон ячейки
    #39665870
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxmaverick2104,

создать поле как вычисляемое

сам я не пробовал, стыдно, но не знаю как получить rowid (в тч для триггера)

.....
staxсоздать поле как вычисляемое - это-2-create viewа в триггере - :new.rowid.
но тока after insert, потому как иу before insert еще никакого row нет :)
...
Рейтинг: 0 / 0
Клон ячейки
    #39665885
maverick2104
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Egopmaverick2104,
before insert еще никакого row нет :)

Точно ? Я думал что оракл создает физический адрес строки еще до инсерта.
...
Рейтинг: 0 / 0
Клон ячейки
    #39665892
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EgoрStaxmaverick2104,

создать поле как вычисляемое

сам я не пробовал, стыдно, но не знаю как получить rowid (в тч для триггера)

.....
staxсоздать поле как вычисляемое - это-2-create viewа в триггере - :new.rowid.
но тока after insert, потому как иу before insert еще никакого row нет :)
нет не вью, Generated Always as

в BEFORE ровид левый, в after нельзя менять
придется заполнять табличку, и менять в операторном after, ето я и называю через гланды

.....
stax
...
Рейтинг: 0 / 0
Клон ячейки
    #39665899
maverick2104
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax,

Код: plsql
1.
2.
3.
4.
5.
6.
create trigger trigger_name after insert on test for each row
begin
if inserting 
then update test set rowid_nr=rowid;
end if;
end;



А так ?
...
Рейтинг: 0 / 0
Клон ячейки
    #39665914
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maverick2104Stax,

Код: plsql
1.
2.
3.
4.
5.
6.
create trigger trigger_name after insert on test for each row
begin
if inserting 
then update test set rowid_nr=rowid;
end if;
end;



А так ?mutating
...
Рейтинг: 0 / 0
Клон ячейки
    #39665924
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maverick2104Stax,

Код: plsql
1.
2.
3.
4.
5.
6.
create trigger trigger_name after insert on test for each row
begin
if inserting 
then update test set rowid_nr=rowid;
end if;
end;



А так ?
не пойдет
заполнять табличку и в операторном аfter менять

зы
if inserting для after insert

зыы
про уникальные ид я перегнул палку, был неправ/тормознул

.....
stax
...
Рейтинг: 0 / 0
Клон ячейки
    #39665943
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxmaverick2104Stax,

Код: plsql
1.
2.
3.
4.
5.
6.
create trigger trigger_name after insert on test for each row
begin
if inserting 
then update test set rowid_nr=rowid;
end if;
end;



А так ?
не пойдет
заполнять табличку и в операторном аfter менять

зы
if inserting для after insert

зыы
про уникальные ид я перегнул палку, был неправ/тормознул

.....
staxНа самом деле главный вопрос "накуя". Получив ответ на него, можно будет рассказать что-где-когда.
...
Рейтинг: 0 / 0
Клон ячейки
    #39665955
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EgoрНа самом деле главный вопрос "накуя". Получив ответ на него, можно будет рассказать что-где-когда.

архитектор сказал, надо и точка!, не твое собачье дело

авторP.S. Вопросы насчет целесообразности прошу оставить на второй план . Это не я .... :)

....
stax
...
Рейтинг: 0 / 0
Клон ячейки
    #39665966
Фотография Egoр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StaxEgoрНа самом деле главный вопрос "накуя". Получив ответ на него, можно будет рассказать что-где-когда.архитектор сказал, надо и точка!, не твое собачье делоавторP.S. Вопросы насчет целесообразности прошу оставить на второй план . Это не я .... :)....
staxИ чем это тебе не второй план?
Честно пообсуждали х..у..и..т..у от ТС, которую он хочет реализовать проапдейтив фсю таблицу
Код: plsql
1.
update test set rowid_nr=rowid;

пора и честь знать.
Так шо за грубость ты мог бы и извиниться.
...
Рейтинг: 0 / 0
Клон ячейки
    #39666033
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EgoрStaxпропущено...
архитектор сказал, надо и точка!, не твое собачье делопропущено...
....
staxИ чем это тебе не второй план?
Честно пообсуждали х..у..и..т..у от ТС, которую он хочет реализовать проапдейтив фсю таблицу
Код: plsql
1.
update test set rowid_nr=rowid;

пора и честь знать.
Так шо за грубость ты мог бы и извиниться.

о какой грубости идет речь?

"не твое собачье дело", так ето архитектор не Вам, а кодировщику

1) опечатка set rowid_nr=:NEW.rowid;
2) всеравно не отработает 21521556

....
stax
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Клон ячейки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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