{"id":658,"date":"2025-05-14T11:57:02","date_gmt":"2025-05-14T09:57:02","guid":{"rendered":"https:\/\/merkulova.thkit.ee\/wp20\/?page_id=658"},"modified":"2025-05-14T11:58:32","modified_gmt":"2025-05-14T09:58:32","slug":"sql-transaktsioonid","status":"publish","type":"page","link":"https:\/\/merkulova.thkit.ee\/wp20\/sql-transaktsioonid\/","title":{"rendered":"SQL TRANSAKTSIOONID"},"content":{"rendered":"<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\ncreate table T(\nid int not null primary key,\ns varchar(40),\nsi smallint);\n \nINSERT into T(id, s) Values (1,&#039;first&#039;);\nINSERT into T(id, s) Values (2,&#039;second&#039;);\nINSERT into T(id, s) Values (3,&#039;third&#039;);\nSelect * from T;\n--rollback ei t\u00f6\u00f6ta kuna transaktioon ei ole alustanud;\nROLLBACK;\n--alustame transaktsiooni\nbegin Transaction;\ninsert into T(id, s) Values (4,&#039;fourth&#039;);\nselect * from T;\n--v\u00f5tame tagasi viimane sisestus\nROLLBACK;\nselect * from T;\n \n--kustutame 1.rida ja v\u00f5tame tagasi\nbegin Transaction;\nDelete from T Where id=1;\nselect * from T;\nROLLBACK;\nselect * from T;\n \n--uuendamine ja tagasi v\u00f5tmine\nbegin Transaction;\nUPDATE T SET si=3 Where id=1;\nselect * from T;\nROLLBACK;\nselect * from T;\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\u041f\u0440\u0438\u043c\u0435\u0440 2 XAMPP(https:\/\/proselyte.net\/tutorials\/sql\/sql-transactions\/)\n\u041a\u043e\u043c\u0430\u043d\u0434\u0430, \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0438:\n\n1\nSET autocommit=0; \n\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nCREATE TABLE developers(\nid int not null primary key,\nname varchar(40),\nspecialty varchar(40),\nexperience int,\nsalary int\n);\n \ninsert into developers(id, name, specialty, experience, salary) values (1, &quot;Eugene Suleimanov&quot;, &quot;Java&quot;, 2, 2500);\ninsert into developers(id, name, specialty, experience, salary) values (2, &quot;Peter Romanenko&quot;, &quot;Java&quot;, 3, 3500);\ninsert into developers(id, name, specialty, experience, salary) values (3, &quot;Andrei Komarov&quot;, &quot;C++&quot;, 3, 2500);\ninsert into developers(id, name, specialty, experience, salary) values (4, &quot;Konstantin Geiko&quot;, &quot;C#&quot;, 2, 2000);\ninsert into developers(id, name, specialty, experience, salary) values (5, &quot;Asya Suleimanova&quot;, &quot;UI\/UX&quot;, 2, 1800);\ninsert into developers(id, name, specialty, experience, salary) values (7, &quot;Ivan Ivanov&quot;, &quot;C#&quot;, 1, 900);\ninsert into developers(id, name, specialty, experience, salary) values (8, &quot;Ludmila Geiko&quot;, &quot;UI\/UX&quot;, 2, 1800);\n\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\n--ROLLBACK \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442(\u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442)\nSET AUTOCOMMIT=0;\nSTART TRANSACTION;\nDELETE FROM developers \nWHERE SPECIALTY = &#039;C++&#039;;\nSELECT * FROM developers;\nCOMMIT;\n \nROLLBACK;\nSELECT * FROM developers;\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nSTART TRANSACTION;\nSAVEPOINT SP2;\nSELECT * FROM T;\nUPDATE T SET si=5;\nSELECT * FROM T;\nROLLBACK TO SAVEPOINT SP2;\nSELECT * FROM T;\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-658","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>SQL TRANSAKTSIOONID - Irina Merkulova &otilde;pimapp | portfoolio<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/merkulova.thkit.ee\/wp20\/sql-transaktsioonid\/\" \/>\n<meta property=\"og:locale\" content=\"et_EE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL TRANSAKTSIOONID - Irina Merkulova &otilde;pimapp | portfoolio\" \/>\n<meta property=\"og:url\" content=\"https:\/\/merkulova.thkit.ee\/wp20\/sql-transaktsioonid\/\" \/>\n<meta property=\"og:site_name\" content=\"Irina Merkulova &otilde;pimapp | portfoolio\" \/>\n<meta property=\"article:modified_time\" content=\"2025-05-14T09:58:32+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/merkulova.thkit.ee\/wp20\/sql-transaktsioonid\/\",\"url\":\"https:\/\/merkulova.thkit.ee\/wp20\/sql-transaktsioonid\/\",\"name\":\"SQL TRANSAKTSIOONID - Irina Merkulova &otilde;pimapp | portfoolio\",\"isPartOf\":{\"@id\":\"https:\/\/merkulova.thkit.ee\/wp20\/#website\"},\"datePublished\":\"2025-05-14T09:57:02+00:00\",\"dateModified\":\"2025-05-14T09:58:32+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/merkulova.thkit.ee\/wp20\/sql-transaktsioonid\/#breadcrumb\"},\"inLanguage\":\"et\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/merkulova.thkit.ee\/wp20\/sql-transaktsioonid\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/merkulova.thkit.ee\/wp20\/sql-transaktsioonid\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\/\/merkulova.thkit.ee\/wp20\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL TRANSAKTSIOONID\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/merkulova.thkit.ee\/wp20\/#website\",\"url\":\"https:\/\/merkulova.thkit.ee\/wp20\/\",\"name\":\"Veebirakenduse portfoolio\",\"description\":\"Noorem Tarkvaraarendaja eriala\",\"publisher\":{\"@id\":\"https:\/\/merkulova.thkit.ee\/wp20\/#\/schema\/person\/3e81f4867c46822cdeca159fa89142ae\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/merkulova.thkit.ee\/wp20\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"et\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/merkulova.thkit.ee\/wp20\/#\/schema\/person\/3e81f4867c46822cdeca159fa89142ae\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"et\",\"@id\":\"https:\/\/merkulova.thkit.ee\/wp20\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4c53fa504772b2274d9d09d84825a2c569865fca538b5b70247d8f1668b9eb51?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4c53fa504772b2274d9d09d84825a2c569865fca538b5b70247d8f1668b9eb51?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"logo\":{\"@id\":\"https:\/\/merkulova.thkit.ee\/wp20\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/merkulova.thkit.ee\/wp20\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"SQL TRANSAKTSIOONID - Irina Merkulova &otilde;pimapp | portfoolio","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/merkulova.thkit.ee\/wp20\/sql-transaktsioonid\/","og_locale":"et_EE","og_type":"article","og_title":"SQL TRANSAKTSIOONID - Irina Merkulova &otilde;pimapp | portfoolio","og_url":"https:\/\/merkulova.thkit.ee\/wp20\/sql-transaktsioonid\/","og_site_name":"Irina Merkulova &otilde;pimapp | portfoolio","article_modified_time":"2025-05-14T09:58:32+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/merkulova.thkit.ee\/wp20\/sql-transaktsioonid\/","url":"https:\/\/merkulova.thkit.ee\/wp20\/sql-transaktsioonid\/","name":"SQL TRANSAKTSIOONID - Irina Merkulova &otilde;pimapp | portfoolio","isPartOf":{"@id":"https:\/\/merkulova.thkit.ee\/wp20\/#website"},"datePublished":"2025-05-14T09:57:02+00:00","dateModified":"2025-05-14T09:58:32+00:00","breadcrumb":{"@id":"https:\/\/merkulova.thkit.ee\/wp20\/sql-transaktsioonid\/#breadcrumb"},"inLanguage":"et","potentialAction":[{"@type":"ReadAction","target":["https:\/\/merkulova.thkit.ee\/wp20\/sql-transaktsioonid\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/merkulova.thkit.ee\/wp20\/sql-transaktsioonid\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/merkulova.thkit.ee\/wp20\/"},{"@type":"ListItem","position":2,"name":"SQL TRANSAKTSIOONID"}]},{"@type":"WebSite","@id":"https:\/\/merkulova.thkit.ee\/wp20\/#website","url":"https:\/\/merkulova.thkit.ee\/wp20\/","name":"Veebirakenduse portfoolio","description":"Noorem Tarkvaraarendaja eriala","publisher":{"@id":"https:\/\/merkulova.thkit.ee\/wp20\/#\/schema\/person\/3e81f4867c46822cdeca159fa89142ae"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/merkulova.thkit.ee\/wp20\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"et"},{"@type":["Person","Organization"],"@id":"https:\/\/merkulova.thkit.ee\/wp20\/#\/schema\/person\/3e81f4867c46822cdeca159fa89142ae","name":"admin","image":{"@type":"ImageObject","inLanguage":"et","@id":"https:\/\/merkulova.thkit.ee\/wp20\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4c53fa504772b2274d9d09d84825a2c569865fca538b5b70247d8f1668b9eb51?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4c53fa504772b2274d9d09d84825a2c569865fca538b5b70247d8f1668b9eb51?s=96&d=mm&r=g","caption":"admin"},"logo":{"@id":"https:\/\/merkulova.thkit.ee\/wp20\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/merkulova.thkit.ee\/wp20"]}]}},"_links":{"self":[{"href":"https:\/\/merkulova.thkit.ee\/wp20\/wp-json\/wp\/v2\/pages\/658","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/merkulova.thkit.ee\/wp20\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/merkulova.thkit.ee\/wp20\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/merkulova.thkit.ee\/wp20\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/merkulova.thkit.ee\/wp20\/wp-json\/wp\/v2\/comments?post=658"}],"version-history":[{"count":2,"href":"https:\/\/merkulova.thkit.ee\/wp20\/wp-json\/wp\/v2\/pages\/658\/revisions"}],"predecessor-version":[{"id":662,"href":"https:\/\/merkulova.thkit.ee\/wp20\/wp-json\/wp\/v2\/pages\/658\/revisions\/662"}],"wp:attachment":[{"href":"https:\/\/merkulova.thkit.ee\/wp20\/wp-json\/wp\/v2\/media?parent=658"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}