Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
триггер заполняющий id (primary key) в оракловском стиле?
|
|||
|---|---|---|---|
|
#18+
Прежде всего 2 факта: - c Ораклом работаю много лет - про autoincrement-поля я знаю!!! (но у нас НЕ ХОТЯТ их использовать!) нужет insert-триггер заполняющий id из секвенции по типу Код: sql 1. 2. 3. 4. 5. есть ли у кого готовый примерчик. В гугле нахожу только INSTEAD OF варианты. Но в этой таблицы гигантское количество колонок. Не хотелось бы их всех в триггере перечислять! :-( Можно как то по-элегантнее!? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 19:39 |
|
||
|
триггер заполняющий id (primary key) в оракловском стиле?
|
|||
|---|---|---|---|
|
#18+
DBAshnikПрежде всего 2 факта: - c Ораклом работаю много лет - про autoincrement-поля я знаю!!! (но у нас НЕ ХОТЯТ их использовать!) нужет insert-триггер заполняющий id из секвенции по типу Код: sql 1. 2. 3. 4. 5. есть ли у кого готовый примерчик. В гугле нахожу только INSTEAD OF варианты. Но в этой таблицы гигантское количество колонок. Не хотелось бы их всех в триггере перечислять! :-( Можно как то по-элегантнее!? А почему триггер? Чем дефолт не устраивает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 19:40 |
|
||
|
триггер заполняющий id (primary key) в оракловском стиле?
|
|||
|---|---|---|---|
|
#18+
DBAshnik, SELECT из update уберите и будет работать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 20:38 |
|
||
|
триггер заполняющий id (primary key) в оракловском стиле?
|
|||
|---|---|---|---|
|
#18+
WarAntDBAshnik, SELECT из update уберите и будет работатьНо, за нежелание перетащить мышкой список полей, придётся заплатить замедлением вставки в таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2019, 21:21 |
|
||
|
триггер заполняющий id (primary key) в оракловском стиле?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 10:35 |
|
||
|
триггер заполняющий id (primary key) в оракловском стиле?
|
|||
|---|---|---|---|
|
#18+
DBAshnikиз секвенции по типуаа, "секвенции" это видимо и есть Sequence "по-ораколовски" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 10:37 |
|
||
|
триггер заполняющий id (primary key) в оракловском стиле?
|
|||
|---|---|---|---|
|
#18+
DBAshnik, тормознее будет. Вам нужен не триггер, а дефолт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 13:50 |
|
||
|
триггер заполняющий id (primary key) в оракловском стиле?
|
|||
|---|---|---|---|
|
#18+
alexeyvgWarAntDBAshnik, SELECT из update уберите и будет работатьНо, за нежелание перетащить мышкой список полей, придётся заплатить замедлением вставки в таблицу. дело только в этом! Во первых это громоздко, (полей очень много, как сказал.), да и а потом при добавлении новых полей в таблицу, придётся каждый раз не забывать дополнить ими триггер! :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 18:29 |
|
||
|
триггер заполняющий id (primary key) в оракловском стиле?
|
|||
|---|---|---|---|
|
#18+
WarAntDBAshnik, SELECT из update уберите и будет работать ээээ, а как конкретно? Нельзя ли кусок кода, плиз? Да и потом это нужно будет завязать на массив inserted (чтоб не проходить по таблице каждый раз.) Может быть неизбежно придётся открывать курсор? (или есть как то по-элегантнее?) (плиз не в обиду, коллеги, но после ораклa читая инфу по MS-SQL мне не отделаться от чувства, что пересаживаюсь с мерса на жигули! ;-) Может по незнанию, пока? ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 18:33 |
|
||
|
триггер заполняющий id (primary key) в оракловском стиле?
|
|||
|---|---|---|---|
|
#18+
courtDBAshnikиз секвенции по типуаа, "секвенции" это видимо и есть Sequence "по-ораколовски" :) ну да, Sequence разумеется, и эту возможность наше начальство "забанило", вопрос закрыт то есть, сорри! :-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 18:35 |
|
||
|
триггер заполняющий id (primary key) в оракловском стиле?
|
|||
|---|---|---|---|
|
#18+
DBAshnikпосле ораклa читая инфу по MS-SQL мне не отделаться от чувства, что пересаживаюсь с мерса на жигули! ;-) Может по незнанию, пока? )Да, по незнанию; у вашего начальства идея "сделать на MSSQL как в оракле, только хуже". Ну вот оно и получается хуже У MSSQL другая идеология, более современная, он всё таки появился позже оракла, и бальше отошёл от кобола и файловых БД. Поэтому там нет позывов в любой вычислении использовать курсор, циклы, триггер на строку и т.д. Там оперируют множествами целиком, на языке SQL. DBAshnikДа и потом это нужно будет завязать на массив inserted (чтоб не проходить по таблице каждый раз.) Может быть неизбежно придётся открывать курсор? (или есть как то по-элегантнее?)Вообще 2 множества цепляются друг с другом оператором JOIN :-) Т.е. обновляете поле id в таблице mytbl, джойня её с таблицей inserted Ещё одна тонкость в том, что для джойна нужно идентифицировать запись - надеюсь, id - это не PK? :-) Неважно, курсором, или джойном, в общем, как угодно, но в любом случае вы либо каждый раз сканируете всю таблицу, либо обеспечиваете возможность указать нужные записи, то есть делаете для этого уникальное поле. Можно для этого, например, сделать дополнительное поле identity DBAshnikну да, Sequence разумеется, и эту возможность наше начальство " забанило "Чего? Изначально же задача стоит в том, что бы вместо нормальной IDENTITY использовать Sequence, как в оракле??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2019, 22:05 |
|
||
|
триггер заполняющий id (primary key) в оракловском стиле?
|
|||
|---|---|---|---|
|
#18+
alexeyvg Ещё одна тонкость в том, что для джойна нужно идентифицировать запись - надеюсь, id - это не PK? :-) так в этом то все и "гвозди", что id это PK ;-) Я ж и топик так назвал: "в оракловском стиле" ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 11:40 |
|
||
|
триггер заполняющий id (primary key) в оракловском стиле?
|
|||
|---|---|---|---|
|
#18+
alexeyvg DBAshnikну да, Sequence разумеется, и эту возможность наше начальство " забанило "Чего? Изначально же задача стоит в том, что бы вместо нормальной IDENTITY использовать Sequence, как в оракле??? я плохо сформулировал, сорри. Забанило возможность использования нормальной IDENTITY. (т.е. автоинкрементного id/pk) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 11:42 |
|
||
|
триггер заполняющий id (primary key) в оракловском стиле?
|
|||
|---|---|---|---|
|
#18+
DBAshnikalexeyvg пропущено... Чего? Изначально же задача стоит в том, что бы вместо нормальной IDENTITY использовать Sequence, как в оракле??? я плохо сформулировал, сорри. Забанило возможность использования нормальной IDENTITY. (т.е. автоинкрементного id/pk) нельзя сказать что это не правильно, хотя "глобально запрещать" в любом случае нелогично ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 11:46 |
|
||
|
триггер заполняющий id (primary key) в оракловском стиле?
|
|||
|---|---|---|---|
|
#18+
DBAshnikтак в этом то все и "гвозди", что id это PK ;-)Тогда, если обязательно в триггере, то это должен быть триггер instead of insert, и придётся перечислять все поля (или делать динамику, что вообще абсурд). DBAshnikя плохо сформулировал, сорри. Забанило возможность использования нормальной IDENTITY. (т.е. автоинкрементного id/pk)Можно сделать сиквенс в default Но это если необязательно делать в триггере. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.03.2019, 21:59 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39788224&tid=1688095]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
135ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
| others: | 291ms |
| total: | 537ms |

| 0 / 0 |
