Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
TaPaK, дайте название книги где это всё нормально расписано. а то не знаю в какой почитать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 13:55 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
andron81у меня книга одна , она вообще дебильная . по их определению и "select * from table" это тоже является транзакциейВидимо для вас MSSQL будет "дебильным" сервером, ибо в нем любая инструкция, затрагивающая данные, выполняется в транзакции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 14:34 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
invmandron81у меня книга одна , она вообще дебильная . по их определению и "select * from table" это тоже является транзакциейВидимо для вас MSSQL будет "дебильным" сервером, ибо в нем любая инструкция, затрагивающая данные, выполняется в транзакции. то есть по вашему "select" затрагивает данные ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 14:37 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
andron81invmпропущено... Видимо для вас MSSQL будет "дебильным" сервером, ибо в нем любая инструкция, затрагивающая данные, выполняется в транзакции. то есть по вашему "select" затрагивает данные ? да ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 14:39 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
TaPaK, я всегда считал, что select делает выборку, читает данные. Тогда для пущей каши расскажите что будет результатом отката "select" ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 14:42 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
Yasha123alexeyvgНаверное, не надо обобщённо утверждать, что если нет стейтмента BEGIN TRANSACTION, то три инсёрта будут тремя разными транзакциями а я где-то такое утверждаю?Да, вот тут: Yasha123я утверждаю, что написанный вами код, это 3 транзакции. Ибо если включён SET IMPLICIT_TRANSACTIONS ON, то после первого инсёрта начнётся общая транзакция, в которой будет выполняться в том числе и третий инсёрт. И вот тут не прокатывает "а если это лишь кусок кода, то уж простите, ваши проблемы", потому что это не кусок кода, а весь код, а статус IMPLICIT_TRANSACTIONS ON - это не код, а установка коннекта; возможно, все коннекты в системе имеют такую установку. И более того, корректно будет считать это "полным кодом" при запуске такого батча из клиента, при том, что из клиента до этого выполнялись другие батчи,и, в частности, была начата транзакция. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 14:48 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
andron81, я может быть туплю, но я считал, что транзакция это инструкция которая вносит правки в б.д. select - выборки которые не делают ничего в б.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 14:49 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
andron81я всегда считал, что select делает выборку, читает данные.А читать это не затрагивать? andron81Тогда для пущей каши расскажите что будет результатом отката "select" ???Чтобы избавиться от каши, начните с правильного определения транзакции. Например тут . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 14:51 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
andron81Но в этом случае дойдя до конца, мы всё равно должны сделать откат. иначе нарушается условие атомарности.Я же вам говорю, условие атомарности не нарушится, потому что транзакция не декларативна. Она не охватывает те операции, которые написаны программистом между begin и commit. Те операции, которые были включены в транзакцию, можно подтвердить или откатить. А те, которые не были включены в транзакцию, не поменяли данные, и в транзакцию не включились, на неё не повлияли. andron81Как известно транзакция задает последовательность инструкций языка Transact-SQL, применяемую для объединения в один пакет операций чтения и записи для того, чтобы система базы данных могла обеспечить согласованность данных. (откопипастил первое попавшееся определение)Из этого можно понять, что транзакция есть нечто декларативное, как указание, что эти стейтменты должны выполнится как единое целое. Но это неправильное определение. Вы лучше представьте, что это некое последовательность бакапов диска. Вы сделали бакап, потом на диск пишете, читаете, какие то записи завершаются с ошибкой... Потом опять пишите... А потом принимаете решение - сделать очередной бакап, или восстановить последний. Вот это есть подтвердить или откатить транзакцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 14:56 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
alexeyvgYasha123пропущено... а я где-то такое утверждаю?Да, вот тут: Yasha123я утверждаю, что написанный вами код, это 3 транзакции. и буду на этом настаивать. ваш код НЕ содержит SET IMPLICIT_TRANSACTIONS ON. а ведь вы его выполнили. так что это все равно, что написать BEGIN TRY и не показать. еще раз: показанный вами код -- это 3(три) транзакции. а все остальное лишь демагогия ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 14:57 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
*** BEGIN TRY постом выше читать как BEGIN TRAN ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 15:01 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
Yasha123и буду на этом настаивать. ваш код НЕ содержит SET IMPLICIT_TRANSACTIONS ON.Да он вообще никаких SET не содержит, а они есть, потому что есть коннект, и при нём всегда есть SET-ы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 15:05 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
andron81, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 15:05 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
andron81, link ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 15:06 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
alexeyvgYasha123и буду на этом настаивать. ваш код НЕ содержит SET IMPLICIT_TRANSACTIONS ON.Да он вообще никаких SET не содержит, а они есть, потому что есть коннект, и при нём всегда есть SET-ы и эти сеты дефолтные. а чтобы это изменить, уж простите, сет вы выполнили в явном виде ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 15:24 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
invmandron81я всегда считал, что select делает выборку, читает данные.А читать это не затрагивать? andron81Тогда для пущей каши расскажите что будет результатом отката "select" ???Чтобы избавиться от каши, начните с правильного определения транзакции. Например тут . Не надо так уж умничать тут. С чего вы взяли , что ваше определение по ссылке верное? Не противоречит ли оно тому, что пишет парень про бэкапы и что включается в транзакцию. Вот он пишет : Те операции, которые были включены в транзакцию, можно подтвердить или откатить. А те, которые не были включены в транзакцию, не поменяли данные, и в транзакцию не включились, на неё не повлияли. Не хотите ему ссылку эту дать? Вот и ответьте теперь на мой ранний вопрос , что будет результатом отката select ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 17:48 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
andron81С чего вы взяли , что ваше определение по ссылке верное? А в вас встроен определятор верности определения транзакции? С чего вы вообще взяли, что обязательно есть какое-то одно правильное определение транзакции, а все остальные неверные? И вообще, зачем вам это определение? Чтобы убедиться, что какая-та ваша книжка по какой-то там СУБД (если вообще по СУБД) -- г..но? andron81Вот и ответьте теперь на мой ранний вопрос , что будет результатом отката select ?А что будет результатом отката delete ... where 1 = 0? Или delete это не всегда транзакция? А почему команда set transaction isolation level кардинальным образом влияет на поведение select? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 18:05 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
Ну и чтобы закончить спор, давайте узнаем, как считают разработчики MSSQL: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 18:11 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
andron81Не надо так уж умничать тут. С чего вы взяли , что ваше определение по ссылке верное?Ну умничает тут, имхо, кто-то другой, пытаясь без наличия необходимых знаний оценивать верность определний. andron81Вот и ответьте теперь на мой ранний вопрос , что будет результатом отката select ?Попытайтесь чего-нибудь вылить из пустой кастрюли. Результат и будет ответом на ваш вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 18:38 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, ну если я не прав, так не прав. почитайте как называется моя тема - я разбираюсь. тем не менее это не логично ! интересно что ж в этом случае пишется в журнал транзакций ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 18:39 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
andron81Гавриленко Сергей Алексеевич, интересно что ж в этом случае пишется в журнал транзакций ?Зачем что-то писать в журнал, когда туда писать не нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 18:43 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевичandron81Гавриленко Сергей Алексеевич, интересно что ж в этом случае пишется в журнал транзакций ?Зачем что-то писать в журнал, когда туда писать не нужно? ну вот и где тут логика ? поэтому любой селект этонедотранзакция, если его нельзя откатить и нечего писать в журнал . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 18:46 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
andron81ну если я не прав, так не прав. почитайте как называется моя тема - я разбираюсь.Вроде тема называется я разбираюсь, но вы яростно спорите с объяснениями, причём не находите какие то нестыковки в объясн5е6ниях, или не переспрашиваете непонятное, а отстаиваете своё понимание транзакций :-) andron81тем не менее это не логично ! интересно что ж в этом случае пишется в журнал транзакций ?Да ничего не пишется. Ещё раз - транзакция - это определённое состояние сервера/коннекта. Вот, при SELECT сервер перешёл в это состояние, это где то отметилось в памяти, создался идентификатор транзакции, к нему привязались записи о блокировках (возможно - очень много записей, это тоже зависит от разного) и т.д. andron81ну вот и где тут логика ? поэтому любой селект этонедотранзакция, если его нельзя откатить и нечего писать в журнал .Ну, можно назвать "недотранзакцией". Но т.к. в документации сиквела разработчики не используют этот термин, а используют слово "транзакция", то мы это так и называем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 18:59 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
andron81ну вот и где тут логика ? поэтому любой селект этонедотранзакция, если его нельзя откатить и нечего писать в журнал .Вы не поверите, но delete, который ничего не удалил, в журнал тоже ничего не запишет. Как вам такая логика? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 19:02 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
andron81Не противоречит ли оно тому, что пишет парень про бэкапы и что включается в транзакцию. Вот он пишет : Те операции, которые были включены в транзакцию, можно подтвердить или откатить. А те, которые не были включены в транзакцию, не поменяли данные, и в транзакцию не включились, на неё не повлияли. Не хотите ему ссылку эту дать?Ну, я рассказывал про механизм транзакций в MSSQL. Не буду спорить с теоретиками, по монографиям которых о теоретических транзакциях в ваакуме написали статью в энциклопедии, у менгя не хватит квалификации, да и желания нет. Механизмы в других СУБД работают подобно механизмам MSSQL, так что для практического применения прислушайтесь к моим советам. Но если вы должны сдать курсовик, или написать научную статью, то лучше изучать научные работы, а не механизмы MSSQL. В общем, смотря какая цель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 19:06 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39679822&tid=1689353]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
91ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
81ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 458ms |

| 0 / 0 |
