Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевичandron81ну вот и где тут логика ? поэтому любой селект этонедотранзакция, если его нельзя откатить и нечего писать в журнал .Вы не поверите, но delete, который ничего не удалил, в журнал тоже ничего не запишет. Как вам такая логика?Тогда "транзакция" волшебным образом превращается в "недотранзакцию" :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 19:07 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
alexeyvgГавриленко Сергей Алексеевичпропущено... Вы не поверите, но delete, который ничего не удалил, в журнал тоже ничего не запишет. Как вам такая логика?Тогда "транзакция" волшебным образом превращается в "недотранзакцию" :-)Осталось понять, зачем отличать "транзакции" от "недотранзакций" в зависимости от того, произошла ли в них модификация данных или нет. У меня вот не выходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 19:08 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевичalexeyvgпропущено... Тогда "транзакция" волшебным образом превращается в "недотранзакцию" :-)Осталось понять, зачем отличать "транзакции" от "недотранзакций" в зависимости от того, произошла ли в них модификация данных или нет. У меня вот не выходит. зачем, а вот на собеседовании как бы Вы ответили ? что называется транзакцией и является ли транзакция select * from table транзакцией с точки зрения MS SQL Server. товарищ правда для Postgre сказал , что да является. и был получен минус ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 19:15 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевичalexeyvgпропущено... Тогда "транзакция" волшебным образом превращается в "недотранзакцию" :-)Осталось понять, зачем отличать "транзакции" от "недотранзакций" в зависимости от того, произошла ли в них модификация данных или нет. У меня вот не выходит.Ну, если понимать транзакцию как некое "декларативное объявление атомарного изменения состояния информационной системы", то вполне можно так говорить. Транзакция, которая не изменяла данных, просто-напросто не существовала, при таком взгляде. Но для реальной СУБД, даже так - для реальной информационной системы, разницы действительно никакой, это определённые статусы, структуры данных, идентификаторы и т.д., и при разных операциях, участвующих в транзакции, просто будут количественно разные действия в системе - но не качественно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 19:15 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
alexeyvgГавриленко Сергей Алексеевичпропущено... Осталось понять, зачем отличать "транзакции" от "недотранзакций" в зависимости от того, произошла ли в них модификация данных или нет. У меня вот не выходит.Ну, если понимать транзакцию как некое "декларативное объявление атомарного изменения состояния информационной системы", то вполне можно так говорить. Транзакция, которая не изменяла данных, просто-напросто не существовала, при таком взгляде. Но для реальной СУБД, даже так - для реальной информационной системы, разницы действительно никакой, это определённые статусы, структуры данных, идентификаторы и т.д., и при разных операциях, участвующих в транзакции, просто будут количественно разные действия в системе - но не качественно. что значит декларативное ? прокомментируйте , пож ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 19:18 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
andron81зачем, а вот на собеседовании как бы Вы ответили ?На собеседовании я бы постарался ответить так, как понравится спрашивающему. Угадать сложно, это да. Я практик, и если в доке написано, что SELECT выполняется в транзакции, значит для меня так и есть. Но если спрашивает ХР-менеджер по листочку с цитатами из учебника, то мой ответ может ему не понравится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 19:19 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
andron81зачем, а вот на собеседовании как бы Вы ответили ? ... является ли транзакция select * from table транзакцией с точки зрения MS SQLЯ бы сказал, что в MSDN английским по-белому написано, что: https://docs.microsoft.com/en-us/sql/t-sql/language-elements/transactions-transact-sql?view=sql-server-2017 Autocommit transactions Each individual statement is a transaction. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 19:20 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
andron81alexeyvgпропущено... Ну, если понимать транзакцию как некое "декларативное объявление атомарного изменения состояния информационной системы", то вполне можно так говорить. Транзакция, которая не изменяла данных, просто-напросто не существовала, при таком взгляде. Но для реальной СУБД, даже так - для реальной информационной системы, разницы действительно никакой, это определённые статусы, структуры данных, идентификаторы и т.д., и при разных операциях, участвующих в транзакции, просто будут количественно разные действия в системе - но не качественно. что значит декларативное ? прокомментируйте , пожДекларативное - значит, описательное. Вот SQL - декларативный язык, стейтмент, например, SELECT, или DELETE, или другой, не описывает последовательность действий, он описывает желаемый результат, который вы задекларировали, написав запрос. А вот T-SQL - это императивный язык, а не декларативный, хотя и состоит из декларативных стейтментов. То есть вы описываете последовательность действий, и эти действия выполняются, одно за другим, причём вы можете даже менять эту последовательность, например, операторами IF и т.п. Т.о. если бы транзакция была декларативной, то вот этот блок описывал бы конечный результат - атомарно привести систему из состояния ДО в состояние ПОСЛЕ: Код: sql 1. 2. 3. 4. 5. 6. Но т.к. T-SQL - императивный язык, то операции выполняются последовательно: Сначала, первой командой, начинается транзакция. Нету никаких записей в лог, никаких изменений, даже нет SELECT-а, но транзакция уже есть. Потом в контексте этой транзакции выполняется update BOOK_PURCH1. При этом может быть запись в лог, может и не быть. Потом в контексте этой транзакции выполняется update BOOK_SALES2, допустим, запись произошла неудачно, изменения не состоялись - и дальше вам, программисту, решать, считать вашу транзакцию неудачной в целом, и откатить (в т.ч. установкой параметра коннекта - откатывать при любых ошибках), или спокойно продолжить делать другие изменения. Потому что язык T-SQL - императивный, программист сам управляет ходом выполнения программы, а не описывает некий атомарный пакет изменения состояния. Разумеется, всё это совершенно не согласуется с определением транзакции у Дейта или в Вики, но мы же разбираемся в транзакциях MSSQL, а не в чём то ещё? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 19:32 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
alexeyvgДекларативное - значит, описательное.Вообще, думаю, неудачный термин, может, правильнее говорить - "функциональный"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 19:35 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
ладно, уяснили. Короче говоря транзакция по MS это each individual statement. любой оператор, а значит любое действие над базой : чтение , изменение. Всё ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2018, 19:39 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
alexeyvgalexeyvgДекларативное - значит, описательное.Вообще, думаю, неудачный термин, может, правильнее говорить - "функциональный"? Не, функциональный - это другое: ЯП, оперирующий функциями в мат. интерпретации. Чистые функции, функции высшего порядка, лямбда-исчисление, и проч. Это лисп, хаскелл, эрланг, F#, и иже с ними. Это всё одинаково далеко и от декларативных, и императивных ЯП. andron81ладно, уяснили. Короче говоря транзакция по MS это each individual statement. любой оператор, а значит любое действие над базой : чтение , изменение. Всё ! И даже вот это? Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2018, 06:18 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
Сон Веры Павловны, разрушим психологию :) Код: sql 1. тоже не транзакция ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2018, 08:48 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
TaPaK, да и тут вы правы. трындец полный с этими транзакциями. по их определению любой код это транзакция . ваш - нет. Строгости нет у MS в этом плане. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2018, 09:05 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
andron81TaPaK, да и тут вы правы. трындец полный с этими транзакциями. по их определению любой код это транзакция . ваш - нет. Строгости нет у MS в этом плане. всё описано, то что вы взяли самое понятное для вас объяснение и натягиваете сову на глобус, то это ваша проблема а не ms ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2018, 09:06 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
TaPaKandron81TaPaK, да и тут вы правы. трындец полный с этими транзакциями. по их определению любой код это транзакция . ваш - нет. Строгости нет у MS в этом плане. всё описано, то что вы взяли самое понятное для вас объяснение и натягиваете сову на глобус, то это ваша проблема а не ms и где же описано ? вот у них этим всё сказано : Each individual statement is a transaction. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2018, 09:08 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
andron81TaPaKпропущено... всё описано, то что вы взяли самое понятное для вас объяснение и натягиваете сову на глобус, то это ваша проблема а не ms и где же описано ? вот у них этим всё сказано : Each individual statement is a transaction. например вот https://docs.microsoft.com/en-us/sql/t-sql/statements/set-implicit-transactions-transact-sql?view=sql-server-2017 авторSELECT statements that do not select from a table do not start implicit transactions. For example SELECT GETDATE(); or SELECT 1, 'ABC'; do not require transactions. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2018, 09:13 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
ну и в тему когда писать авторAlthough BEGIN TRANSACTION starts a local transaction, it is not recorded in the transaction log until the application subsequently performs an action that must be recorded in the log, such as executing an INSERT, UPDATE, or DELETE statement. An application can perform actions such as acquiring locks to protect the transaction isolation level of SELECT statements, but nothing is recorded in the log until the application performs a modification action. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2018, 09:15 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
вот ещё немного занимательного Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2018, 09:20 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
ппц. ИТ-загибаеццо. Жевать на 3 страницы такое простое понятие.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2018, 09:38 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
L_argoппц. ИТ-загибаеццо. Жевать на 3 страницы такое простое понятие.... давай, внеси свет в эту пещеру ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2018, 09:40 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
TaPaKвот ещё немного занимательного Код: sql 1. 2. 3. 4. 5. 6. 7. это значит что инсерт во временную таблицу как бы не транзакция ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2018, 10:45 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
andron81это значит что инсерт во временную таблицу как бы не транзакция а где там временная таблица? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2018, 10:47 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
TaPaKandron81это значит что инсерт во временную таблицу как бы не транзакция а где там временная таблица? тупанул. в переменную таблица. это такой же пример как и с DECLARE @a int; SELECT @a = 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2018, 10:51 |
|
||
|
понятие транзакции. просьба разъяснить.
|
|||
|---|---|---|---|
|
#18+
andron81тупанул. в переменную таблица. это такой же пример как и с DECLARE @a int; SELECT @a = 1Я вам уже писал - 21604617 , но, видимо, есть трудности с пониманием. Пример от TaPaK означает, что манипуляции с табличной переменнлой выполняются в отдельной транзакции, не относящейся к текущей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2018, 11:46 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39679845&tid=1689353]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
83ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 249ms |
| total: | 450ms |

| 0 / 0 |
