Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
insert returning в insert-е
|
|||
|---|---|---|---|
|
#18+
«Непонятные люди требуют странного» © Вроде бы очевидный синтаксис не поддерживается: Код: sql 1. 2. 3. 4. 5. 6. Довольно часто встречается ситуация, когда в детальной таблице обязательно нужна хотя бы одна запись для каждой из мастера. Конечно, можно выполнить эти 2 insert -а на клиенте, в execute block или SP. Но ведь так более явно короче и понятнее. :) Почему бы не научить сервер понимать подобный синтаксис? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 17:16 |
|
||
|
insert returning в insert-е
|
|||
|---|---|---|---|
|
#18+
TonalНо ведь так более явно короче и понятнее. :) Лично мне - отнюдь не понятнее. И, кстати, ситуация тоже весьма редкая. В моей лично практике ни разу не встречалась. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 17:26 |
|
||
|
insert returning в insert-е
|
|||
|---|---|---|---|
|
#18+
Tonal, смысла в такой конструкции будет мало, потому как детальной таблице обычно больше одной записи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 18:47 |
|
||
|
insert returning в insert-е
|
|||
|---|---|---|---|
|
#18+
Симонов Дениссмысла в такой конструкции будет мало, потому как детальной таблице обычно больше одной записи Ну, это тоже зависит от многого. Я частенько встречаюсь с табличками где деталей < 1,5 на мастер... Кроме того, ежели заменить insert into MASTER ... на update or insert into MASTER то можно будет все детали вставлять подобным образом. Особливо ежели запилить в update or insert синтаксис позволяющий не только устанавливать поля в константы, но и изменять их значения на основе предыдущих, типа как set fld1 = fld1 + 1 в update . Опять же, подобного поведения можно добиться несколькими путями - например триггерами на insert и update в изменяемой вьюхе. Но в этом случае будет компактнее. :) Ещё открывающиеся возможности: Удаление с записью в журнал: Код: sql 1. 2. 3. 4. 5. 6. Изменение с записью в журнал: Код: sql 1. 2. 3. 4. 5. 6. И много других извращений. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 20:23 |
|
||
|
insert returning в insert-е
|
|||
|---|---|---|---|
|
#18+
TonalИ много других извращений. :) Открой для себя триггера. В отличии от твоих извращений, они работают вне зависимости от настроения левой пятки программиста приложения. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 20:26 |
|
||
|
insert returning в insert-е
|
|||
|---|---|---|---|
|
#18+
TonalУдаление с записью в журнал: Код: sql 1. 2. 3. 4. 5. 6. ... И много других извращений. :) да чего уж там. Сразу вот так Код: sql 1. 2. 3. 4. 5. и вгоняем БД в полный ступор ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 20:40 |
|
||
|
insert returning в insert-е
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov[Открой для себя триггера. В отличии от твоих извращений, они работают вне зависимости от настроения левой пятки программиста приложения. Э... А как триггера защищены от "настроения левой пятки программиста"? Да и мёртвый цикл запилить что на триггерах что на SP тоже не велика сложность. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 20:54 |
|
||
|
insert returning в insert-е
|
|||
|---|---|---|---|
|
#18+
TonalА как триггера защищены от "настроения левой пятки программиста"? Правами. Программист может использовать удаление с протоколированием или удалить по-тихому. Но протоколирование удаления триггерами ему не обойти. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 21:15 |
|
||
|
insert returning в insert-е
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, А триггера видимо пишет кто-то непогрешимый? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 21:35 |
|
||
|
insert returning в insert-е
|
|||
|---|---|---|---|
|
#18+
Tonal, Если разработчиков больше одного, то базу данных и клиентское приложение пишут зачастую разные люди. Ошибается, конечно, каждый, но триггер-то один, и он - единожды отлаженный - будет работать для каждого обновления/удаления с любого места программы, исключая ситуацию когда часть изменеий протоколируется, а часть - нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.05.2015, 09:16 |
|
||
|
insert returning в insert-е
|
|||
|---|---|---|---|
|
#18+
miwaonline, Ну по задаче там идеально подошла бы изменяемая въюха с триггером на инсерт. Но задача - единоразовый импорт. Далее, по логике основной задачи, когда данные уже заполнены, эта въюха попросту не нужна. Там даже триггера особо не нужны кроме стандартных автоинкрементных. Ну и каскадного удаления... И вместо того, чтобы нарисовать один, пусть сложный, запрос, предлагается запилить въюху с триггерами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2015, 13:53 |
|
||
|
insert returning в insert-е
|
|||
|---|---|---|---|
|
#18+
Tonalmiwaonline, Ну по задаче там идеально подошла бы изменяемая въюха с триггером на инсерт. Но задача - единоразовый импорт. Далее, по логике основной задачи, когда данные уже заполнены, эта въюха попросту не нужна. Там даже триггера особо не нужны кроме стандартных автоинкрементных. Ну и каскадного удаления... И вместо того, чтобы нарисовать один, пусть сложный, запрос, предлагается запилить въюху с триггерами?из-за того, что тебе лень пилить взгляд (вьюху), ты хочешь напрячь разработчиков, чтобы они расхерачили сервер твоими хотелками ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.05.2015, 22:24 |
|
||
|
insert returning в insert-е
|
|||
|---|---|---|---|
|
#18+
Tonalmiwaonline, Ну по задаче там идеально подошла бы изменяемая въюха с триггером на инсерт. Но задача - единоразовый импорт. Далее, по логике основной задачи, когда данные уже заполнены, эта въюха попросту не нужна. Там даже триггера особо не нужны кроме стандартных автоинкрементных. Ну и каскадного удаления... И вместо того, чтобы нарисовать один, пусть сложный, запрос, предлагается запилить въюху с триггерами? Нарисуй один (не)сложный execute block. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2015, 09:48 |
|
||
|
insert returning в insert-е
|
|||
|---|---|---|---|
|
#18+
miwaonlineНарисуй один (не)сложный execute block. Собственно с этого я и начал, что вместо "(не)сложный execute block " можно было бы нарисовать ещё более несложный каскадный insert . И этот каскадный insert даже более защищён от ошибок чем execute block , хотя бы потому что текста меньше. :) Секретное имя пользователяиз-за того, что тебе лень пилить взгляд (вьюху), ты хочешь напрячь разработчиков, чтобы они расхерачили сервер твоими хотелками ? Мне не лень "пилить вьюху" - она там совершенно не нужна. И естественно сервер расхерачивать не нужно. Я просто предлагаю к обсуждению напрашивающуюся, как мне кажется, оптимизацию синтаксиса: возможность использовать операторы изменения с фразой returning как значения в других операторах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2015, 11:25 |
|
||
|
insert returning в insert-е
|
|||
|---|---|---|---|
|
#18+
Tonal, лучше бы появилась возможно использовать for insert/update/delete/merge returning для обработки множества строк ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2015, 12:40 |
|
||
|
insert returning в insert-е
|
|||
|---|---|---|---|
|
#18+
TonalЯ просто предлагаю к обсуждению напрашивающуюся, как мне кажется, оптимизацию синтаксиса: возможность использовать операторы изменения с фразой returning как значения в других операторах. Пообсуждать-то можно. Например - а какова глубина вложенности должна поддерживаться у каскадных inserto-ов? А почему только 2/10/100/1000? А вдруг я хочу сделать удобный лично мне супер-мега-динамический insert где значение последующего элемента вычисляется на основании предыдущего значения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2015, 13:48 |
|
||
|
insert returning в insert-е
|
|||
|---|---|---|---|
|
#18+
miwaonlineНапример - а какова глубина вложенности должна поддерживаться у каскадных inserto-ов? А почему только 2/10/100/1000? А вдруг я хочу сделать удобный лично мне супер-мега-динамический insert где значение последующего элемента вычисляется на основании предыдущего значения? Это всяко определять разработчикам. :) Но мнится мне, что никак не больше текущего ограничения на количество контекстов - вроде кардинального отличия от вложенных select -ов в этом разрезе не видно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2015, 16:18 |
|
||
|
insert returning в insert-е
|
|||
|---|---|---|---|
|
#18+
Tonal, был уже однажды подобный топик, только там предлагалось Код: sql 1. 2. 3. 4. 5. кое кто так вроде даже умеет. ЕМНИП эти предложения были посланы в сад. И видимо правильно, потому что если разрешить это, то тогда справедливо будет разрешить и Код: sql 1. 2. и при недофетченности курсора получаем мутный результат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2015, 16:42 |
|
||
|
insert returning в insert-е
|
|||
|---|---|---|---|
|
#18+
Симонов Денис Код: sql 1. 2. и при недофетченности курсора получаем мутный результат Вроде как мои предложения лишены этого недостатка. Т. е. returning остаётся как есть но может выступать и как отдельное значение. Конечно в этом случае можно изобразить что-то в таком роде: Код: sql 1. 2. В результате чего можно получить тот же мутный результат при недофетченности курсора. Но того же можно добиться и execite block -ом, да и SP, и это вроде никого не пугает. А новичкам быстро объясняют про грабли недофетченного курсора + изменяющие SP или execite block . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2015, 17:30 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38955047&tid=1562860]: |
0ms |
get settings: |
14ms |
get forum list: |
12ms |
check forum access: |
6ms |
check topic access: |
6ms |
track hit: |
63ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
4ms |
| others: | 11ms |
| total: | 194ms |

| 0 / 0 |
