{"id":586,"date":"2025-04-10T07:37:12","date_gmt":"2025-04-10T07:37:12","guid":{"rendered":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/?page_id=586"},"modified":"2025-04-10T10:15:46","modified_gmt":"2025-04-10T10:15:46","slug":"andmebaas-triggers","status":"publish","type":"page","link":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/ru\/andmebaas-triggers\/","title":{"rendered":"Andmebaas &#8211; Triggers"},"content":{"rendered":"\n<p><strong>Logitabeli ja trigger&#8217;ite loomine autoriregistri muutuste logimiseks<\/strong><\/p>\n\n\n\n<p><strong>\u00dclesanne:<\/strong><br>Luua tabel <code>logitabel(id, toiming, aeg, autoAndmed)<\/code>, mis fikseerib muudatused <code>autoreregister<\/code> tabelis. Samuti tuleb luua <code>autoreregister<\/code> tabel koos v\u00e4lja m\u00f5eldud veergudega ning teha triggerid, mis logivad INSERT, UPDATE ja DELETE toiminguid <code>logitabel<\/code> tabelisse. Kontrollida, kas triggerid t\u00f6\u00f6tavad.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 1. Tabeli <code>autoreregister<\/code> loomine<\/h3>\n\n\n\n<p>L\u00f5in tabeli, kuhu salvestatakse auto andmed. V\u00e4ljad, mille valisin:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>id<\/code> \u2013 unikaalne ID (AUTO_INCREMENT)<\/li>\n\n\n\n<li><code>reg_number<\/code> \u2013 registreerimisnumber<\/li>\n\n\n\n<li><code>owner_name<\/code> \u2013 omaniku nimi<\/li>\n\n\n\n<li><code>car_make<\/code> \u2013 automark<\/li>\n\n\n\n<li><code>car_model<\/code> \u2013 automudel<\/li>\n\n\n\n<li><code>year<\/code> \u2013 tootmisaasta<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nCREATE TABLE autoreregister (\n    id INT AUTO_INCREMENT PRIMARY KEY,\n    reg_number VARCHAR(20) NOT NULL UNIQUE,\n    owner_name VARCHAR(100) NOT NULL,\n    car_make VARCHAR(50) NOT NULL,\n    car_model VARCHAR(50) NOT NULL,\n    year INT NOT NULL\n);\n\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"209\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t1-1024x209.png\" alt=\"\" class=\"wp-image-594\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t1-1024x209.png 1024w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t1-300x61.png 300w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t1-768x157.png 768w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t1-150x31.png 150w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t1-1536x314.png 1536w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t1-600x123.png 600w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t1.png 1918w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"303\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/autoregister-1024x303.png\" alt=\"\" class=\"wp-image-665\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/autoregister-1024x303.png 1024w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/autoregister-300x89.png 300w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/autoregister-768x227.png 768w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/autoregister-150x44.png 150w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/autoregister-1536x454.png 1536w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/autoregister-600x177.png 600w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/autoregister.png 1601w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 2. Tabeli <code>logitabel<\/code> loomine<\/h3>\n\n\n\n<p>See tabel salvestab k\u00f5ik muudatused, mis toimuvad <code>autoreregister<\/code> tabelis. V\u00e4ljad:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>id<\/code> \u2013 logikirje ID<\/li>\n\n\n\n<li><code>toiming<\/code> \u2013 INSERT, UPDATE v\u00f5i DELETE<\/li>\n\n\n\n<li><code>aeg<\/code> \u2013 muudatuse toimumise aeg (automaatselt)<\/li>\n\n\n\n<li><code>autoAndmed<\/code> \u2013 muudatuse kirjeldus tekstina<\/li>\n<\/ul>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nCREATE TABLE logitabel (\n    id INT AUTO_INCREMENT PRIMARY KEY,\n    toiming VARCHAR(10) NOT NULL,\n    aeg DATETIME DEFAULT CURRENT_TIMESTAMP,\n    autoAndmed TEXT\n);\n\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"214\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t2-1024x214.png\" alt=\"\" class=\"wp-image-599\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t2-1024x214.png 1024w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t2-300x63.png 300w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t2-768x160.png 768w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t2-150x31.png 150w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t2-1536x320.png 1536w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t2-600x125.png 600w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t2.png 1918w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"272\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/logitabel-1-1024x272.png\" alt=\"\" class=\"wp-image-666\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/logitabel-1-1024x272.png 1024w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/logitabel-1-300x80.png 300w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/logitabel-1-768x204.png 768w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/logitabel-1-150x40.png 150w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/logitabel-1-600x159.png 600w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/logitabel-1.png 1403w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 <strong>3. Triggerite loomine<\/strong><\/h3>\n\n\n\n<p>L\u00f5in kolm triggerit, mis lisavad muudatuse <code>logitabel<\/code> tabelisse.<\/p>\n\n\n\n<p>\u2705 <strong>INSERT Trigger<\/strong><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nBEGIN\n  INSERT INTO logitabel (toiming, autoAndmed)\n  VALUES (&#039;INSERT&#039;, CONCAT(&#039;Lisati auto: &#039;, NEW.reg_number, &#039;, &#039;, NEW.owner_name, &#039;, &#039;, NEW.car_make, &#039;, &#039;, NEW.car_model, &#039;, &#039;, NEW.year));\nEND;\n\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"863\" height=\"900\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t3.png\" alt=\"\" class=\"wp-image-608\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t3.png 863w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t3-288x300.png 288w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t3-768x801.png 768w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t3-144x150.png 144w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t3-600x626.png 600w\" sizes=\"(max-width: 863px) 100vw, 863px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">\u2705 <strong>UPDATE Trigger<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-preformatted\"><\/pre>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nCREATE TRIGGER log_update\nAFTER UPDATE ON autoreregister\nFOR EACH ROW\nBEGIN\n  INSERT INTO logitabel (toiming, autoAndmed)\n  VALUES (&#039;UPDATE&#039;, CONCAT(&#039;Muudeti auto: &#039;, OLD.reg_number, &#039;, uus omanik: &#039;, NEW.owner_name));\nEND;\n\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"858\" height=\"902\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t4.png\" alt=\"\" class=\"wp-image-611\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t4.png 858w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t4-285x300.png 285w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t4-768x807.png 768w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t4-143x150.png 143w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t4-600x631.png 600w\" sizes=\"(max-width: 858px) 100vw, 858px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">\u2705 <strong>DELETE Trigger<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-preformatted\"><\/pre>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nBEGIN\n  INSERT INTO logitabel (toiming, autoAndmed)\n  VALUES (&#039;DELETE&#039;, CONCAT(&#039;Kustutati auto: &#039;, OLD.reg_number, &#039;, &#039;, OLD.owner_name, &#039;, &#039;, OLD.car_make, &#039;, &#039;, OLD.car_model, &#039;, &#039;, OLD.year));\nEND;\n\n\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"863\" height=\"915\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t5.png\" alt=\"\" class=\"wp-image-614\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t5.png 863w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t5-283x300.png 283w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t5-768x814.png 768w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t5-141x150.png 141w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t5-600x636.png 600w\" sizes=\"(max-width: 863px) 100vw, 863px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd39 <strong>4. Kontrollimine (Testimine)<\/strong><\/h3>\n\n\n\n<p>Testisin, et k\u00f5ik t\u00f6\u00f6tab korralikult:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Sisestamine<\/strong>:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\"><\/pre>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nINSERT INTO autoreregister (reg_number, owner_name, car_make, car_model, year)\nVALUES (&#039;EST123&#039;, &#039;Mari Maasikas&#039;, &#039;Toyota&#039;, &#039;Yaris&#039;, 2020);\n\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"215\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t6-1024x215.png\" alt=\"\" class=\"wp-image-618\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t6-1024x215.png 1024w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t6-300x63.png 300w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t6-768x161.png 768w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t6-150x31.png 150w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t6-1536x322.png 1536w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t6-600x126.png 600w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t6.png 1918w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>2. <strong>Muutmine<\/strong>:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nUPDATE autoreregister\nSET owner_name = &#039;J\u00fcri \u00d5unapuu&#039;\nWHERE reg_number = &#039;EST123&#039;;\n\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"200\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t7-1024x200.png\" alt=\"\" class=\"wp-image-622\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t7-1024x200.png 1024w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t7-300x59.png 300w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t7-768x150.png 768w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t7-150x29.png 150w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t7-1536x300.png 1536w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t7-600x117.png 600w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t7.png 1918w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li><strong>Kustutamine<\/strong>:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\"><\/pre>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nDELETE FROM autoreregister\nWHERE reg_number = &#039;EST123&#039;;\n\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"214\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t8-1024x214.png\" alt=\"\" class=\"wp-image-625\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t8-1024x214.png 1024w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t8-300x63.png 300w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t8-768x161.png 768w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t8-150x31.png 150w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t8-1536x321.png 1536w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t8-600x125.png 600w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t8.png 1918w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li><strong>Logi kontrollimine<\/strong>:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\"><\/pre>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nSELECT * FROM logitabel ORDER BY aeg DESC;\n\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"416\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t9-1024x416.png\" alt=\"\" class=\"wp-image-628\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t9-1024x416.png 1024w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t9-300x122.png 300w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t9-768x312.png 768w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t9-150x61.png 150w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t9-1536x625.png 1536w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t9-600x244.png 600w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t9.png 1918w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Lisasime seotud tabeli <code>owners<\/code> tabelile <code>autoreregister<\/code><\/strong>, et hallata autode omanike andmeid.<\/h3>\n\n\n\n<p class=\"has-large-font-size\"><strong>Muudeti triggerite toimingud<\/strong> nii, et andmed tabelist <strong><code>owners<\/code><\/strong> kajastuvad ka logitabelis <strong><code>logitabel<\/code><\/strong> iga lisamise, uuendamise ja kustutamise korral <strong><code>autoreregister<\/code><\/strong> tabelis.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. Lisasime seotud tabeli <code>owners<\/code>:<\/strong><\/h3>\n\n\n\n<p>Tabel <strong><code>owners<\/code><\/strong> sisaldab auto omaniku andmeid, mis on seotud tabeliga <strong><code>autoreregister<\/code><\/strong>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Tabeli <code>owners<\/code> loomine:<\/strong><\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nCREATE TABLE owners (\n    id INT AUTO_INCREMENT PRIMARY KEY,\n    name VARCHAR(255) NOT NULL,\n    contact_info VARCHAR(255)\n);\n\n<\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\"><strong>Tabeli <code>autoreregister<\/code> muutmine ja v\u00e4lisv\u00f5tme lisamine:<\/strong><\/h4>\n\n\n\n<pre class=\"wp-block-preformatted\"><\/pre>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nALTER TABLE autoreregister\nADD COLUMN owner_id INT,\nADD CONSTRAINT fk_owner\nFOREIGN KEY (owner_id) REFERENCES owners(id);\n\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"822\" height=\"342\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t12.png\" alt=\"\" class=\"wp-image-653\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t12.png 822w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t12-300x125.png 300w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t12-768x320.png 768w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t12-150x62.png 150w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t12-600x250.png 600w\" sizes=\"(max-width: 822px) 100vw, 822px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"271\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/ownerstabel-1024x271.png\" alt=\"\" class=\"wp-image-669\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/ownerstabel-1024x271.png 1024w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/ownerstabel-300x79.png 300w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/ownerstabel-768x203.png 768w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/ownerstabel-150x40.png 150w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/ownerstabel-600x159.png 600w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/ownerstabel.png 1402w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-large-font-size\"><strong>Triggerid:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"292\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/register-triggers-1-1024x292.png\" alt=\"\" class=\"wp-image-672\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/register-triggers-1-1024x292.png 1024w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/register-triggers-1-300x86.png 300w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/register-triggers-1-768x219.png 768w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/register-triggers-1-150x43.png 150w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/register-triggers-1-1536x438.png 1536w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/register-triggers-1-600x171.png 600w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/register-triggers-1.png 1918w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-large-font-size\"><strong>[SQL Server] \u00dche tabeli triggeri loomine harjutus<\/strong><\/pre>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nCREATE DATABASE autotools;\nUSE autotools;\n\nCREATE TABLE owner (\n    ownerID INT identity(1,1) PRIMARY KEY,\n    ownerName VARCHAR(100),\n    contactInfo VARCHAR(100)\n);\n\nCREATE TABLE carRegistration (\n    carID INT identity(1,1) PRIMARY KEY,\n    carName VARCHAR(50),\n    year INT,\n    licensePlate VARCHAR(10),\n    ownerID INT,\n    CONSTRAINT FK_owner FOREIGN KEY (ownerID) REFERENCES owner(ownerID)\n);\n\nCREATE TABLE actionLog (\n    logID INT identity(1,1) PRIMARY KEY,\n    timestamp DATETIME,\n    action VARCHAR(100),\n    carDetails TEXT,\n    username VARCHAR(25)\n);\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"882\" height=\"297\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/selectall.png\" alt=\"\" class=\"wp-image-684\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/selectall.png 882w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/selectall-300x101.png 300w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/selectall-768x259.png 768w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/selectall-150x51.png 150w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/selectall-600x202.png 600w\" sizes=\"(max-width: 882px) 100vw, 882px\" \/><\/figure>\n\n\n\n<p class=\"has-large-font-size\"><strong>Sisestan andmed:<\/strong><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nINSERT INTO owner (ownerName, contactInfo) VALUES\n(&#039;John Doe&#039;, &#039;123-456-789&#039;),\n(&#039;Jane Smith&#039;, &#039;987-654-321&#039;);\n\n\nINSERT INTO carRegistration (carName, year, licensePlate, ownerID) VALUES\n(&#039;Mitsubishi&#039;, 2008, &#039;286MGE&#039;, 1),\n(&#039;Toyota&#039;, 1996, &#039;361MGW&#039;, 2);\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"612\" height=\"327\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/addedinserted.png\" alt=\"\" class=\"wp-image-688\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/addedinserted.png 612w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/addedinserted-300x160.png 300w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/addedinserted-150x80.png 150w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/addedinserted-600x321.png 600w\" sizes=\"(max-width: 612px) 100vw, 612px\" \/><\/figure>\n\n\n\n<p><strong>Eemaldan andmed<\/strong>:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\ndelete from autoregister where autoID=1\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"622\" height=\"312\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/deletedcar.png\" alt=\"\" class=\"wp-image-693\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/deletedcar.png 622w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/deletedcar-300x150.png 300w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/deletedcar-150x75.png 150w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/deletedcar-600x301.png 600w\" sizes=\"(max-width: 622px) 100vw, 622px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"908\" height=\"447\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/deleted2.png\" alt=\"\" class=\"wp-image-695\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/deleted2.png 908w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/deleted2-300x148.png 300w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/deleted2-768x378.png 768w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/deleted2-150x74.png 150w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/deleted2-600x295.png 600w\" sizes=\"(max-width: 908px) 100vw, 908px\" \/><\/figure>\n\n\n\n<p><strong>Uuendan andmed<\/strong>:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nUPDATE carRegistration\nSET licensePlate = &#039;794RDT&#039;\nWHERE carID = 2;\n\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"933\" height=\"432\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/uldated.png\" alt=\"\" class=\"wp-image-701\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/uldated.png 933w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/uldated-300x139.png 300w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/uldated-768x356.png 768w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/uldated-150x69.png 150w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/uldated-600x278.png 600w\" sizes=\"(max-width: 933px) 100vw, 933px\" \/><\/figure>\n\n\n\n<p><strong>Tehtud tegevused logi tabelis<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"881\" height=\"277\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/triggerlog.png\" alt=\"\" class=\"wp-image-704\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/triggerlog.png 881w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/triggerlog-300x94.png 300w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/triggerlog-768x241.png 768w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/triggerlog-150x47.png 150w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/triggerlog-600x189.png 600w\" sizes=\"(max-width: 881px) 100vw, 881px\" \/><\/figure>\n\n\n\n<p class=\"has-large-font-size\"><strong>Triggerite loomine<\/strong><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\n-- Trigger for INSERT operation\nCREATE TRIGGER afterCarInsert\nON carRegistration\nAFTER INSERT\nAS \nBEGIN\n    INSERT INTO actionLog (timestamp, action, carDetails, username)\n    SELECT \n        GETDATE(),\n        &#039;INSERT operation executed&#039;,\n        CONCAT(&#039;Car Name: &#039;, carRegistration.carName, \n               &#039;, Year: &#039;, carRegistration.year, \n               &#039;, License Plate: &#039;, carRegistration.licensePlate),\n        SUSER_NAME()\n    FROM carRegistration\n    WHERE carID = (SELECT carID FROM inserted);\nEND;\n\n-- Trigger for DELETE operation\nCREATE TRIGGER afterCarDelete\nON carRegistration\nAFTER DELETE\nAS \nBEGIN\n    INSERT INTO actionLog (timestamp, action, carDetails, username)\n    SELECT \n        GETDATE(),\n        &#039;DELETE operation executed&#039;,\n        CONCAT(&#039;Car Deleted: &#039;, deleted.licensePlate),\n        SUSER_NAME()\n    FROM deleted;\nEND;\n\n-- Trigger for UPDATE operation\nCREATE TRIGGER afterCarUpdate\nON carRegistration\nAFTER UPDATE\nAS \nBEGIN\n    INSERT INTO actionLog (timestamp, action, carDetails, username)\n    SELECT \n        GETDATE(),\n        &#039;UPDATE operation executed&#039;,\n        CONCAT(&#039;Old Data - Car Name: &#039;, deleted.carName, &#039;, Year: &#039;, deleted.year, &#039;, License Plate: &#039;, deleted.licensePlate,\n               &#039; | New Data - Car Name: &#039;, inserted.carName, &#039;, Year: &#039;, inserted.year, &#039;, License Plate: &#039;, inserted.licensePlate),\n        SUSER_NAME()\n    FROM inserted\n    INNER JOIN deleted ON inserted.carID = deleted.carID;\nEND;\n\n<\/pre><\/div>\n\n\n<pre class=\"wp-block-preformatted has-large-font-size\"><strong>[SQL Server] Harjutus kahe tabelite seosete (on loodud tabel 'omanik')<\/strong><\/pre>\n\n\n\n<p><\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nCREATE TABLE omanik (\n    omanikID int identity(1,1) PRIMARY KEY,\n    nimi varchar(50)\n)\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nINSERT INTO omanik (nimi) VALUES\n(&#039;Bob&#039;), (&#039;Oleg&#039;);\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nCREATE TRIGGER afterCarInsert\nON carRegistration\nAFTER INSERT\nAS \nBEGIN\n    INSERT INTO actionLog (timestamp, action, carDetails, username)\n    SELECT \n        GETDATE(),\n        &#039;INSERT operation executed&#039;,\n        CONCAT(&#039;Car Name: &#039;, carRegistration.carName, \n               &#039;, Year: &#039;, carRegistration.year, \n               &#039;, License Plate: &#039;, carRegistration.licensePlate,\n               &#039;, Owner Name: &#039;, owner.nimi),\n        SUSER_NAME()\n    FROM carRegistration\n    INNER JOIN owner ON carRegistration.ownerID = owner.ownerID\n    INNER JOIN inserted ON carRegistration.carID = inserted.carID;\nEND;\n\n\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nCREATE TRIGGER afterCarUpdate\nON carRegistration\nAFTER UPDATE\nAS \nBEGIN\n    INSERT INTO actionLog (timestamp, action, carDetails, username)\n    SELECT \n        GETDATE(),\n        &#039;UPDATE operation executed&#039;,\n        CONCAT(&#039;Old Data - Car Name: &#039;, deleted.carName, &#039;, Year: &#039;, deleted.year, &#039;, License Plate: &#039;, deleted.licensePlate,\n               &#039; | New Data - Car Name: &#039;, inserted.carName, &#039;, Year: &#039;, inserted.year, &#039;, License Plate: &#039;, inserted.licensePlate),\n        SUSER_NAME()\n    FROM inserted\n    INNER JOIN deleted ON inserted.carID = deleted.carID;\nEND;\n\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: sql; title: ; notranslate\" title=\"\">\nCREATE TRIGGER afterCarDelete\nON carRegistration\nAFTER DELETE\nAS \nBEGIN\n    INSERT INTO actionLog (timestamp, action, carDetails, username)\n    SELECT \n        GETDATE(),\n        &#039;DELETE operation executed&#039;,\n        CONCAT(&#039;Car Deleted: &#039;, deleted.licensePlate),\n        SUSER_NAME()\n    FROM deleted;\nEND;\n\n\n<\/pre><\/div>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"842\" height=\"381\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/2tablesupdate.png\" alt=\"\" class=\"wp-image-716\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/2tablesupdate.png 842w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/2tablesupdate-300x136.png 300w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/2tablesupdate-768x348.png 768w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/2tablesupdate-150x68.png 150w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/2tablesupdate-600x271.png 600w\" sizes=\"(max-width: 842px) 100vw, 842px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"771\" height=\"271\" src=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/actionlog2.png\" alt=\"\" class=\"wp-image-718\" srcset=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/actionlog2.png 771w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/actionlog2-300x105.png 300w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/actionlog2-768x270.png 768w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/actionlog2-150x53.png 150w, https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/actionlog2-600x211.png 600w\" sizes=\"(max-width: 771px) 100vw, 771px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Logitabeli ja trigger&#8217;ite loomine autoriregistri muutuste logimiseks \u00dclesanne:Luua tabel logitabel(id, toiming, aeg, autoAndmed), mis fikseerib muudatused autoreregister tabelis. Samuti tuleb luua autoreregister tabel koos v\u00e4lja m\u00f5eldud veergudega ning teha triggerid, mis logivad INSERT, UPDATE ja DELETE toiminguid logitabel tabelisse. Kontrollida, kas triggerid t\u00f6\u00f6tavad. \ud83d\udd39 1. Tabeli autoreregister loomine L\u00f5in tabeli, kuhu salvestatakse auto andmed. V\u00e4ljad, mille valisin: \ud83d\udd39 2. Tabeli logitabel loomine See tabel salvestab k\u00f5ik muudatused, mis toimuvad autoreregister tabelis. V\u00e4ljad: \ud83d\udd39 3. Triggerite loomine L\u00f5in kolm triggerit, mis lisavad muudatuse logitabel tabelisse. \u2705 INSERT Trigger \u2705 UPDATE Trigger \u2705 DELETE Trigger \ud83d\udd39 4. Kontrollimine (Testimine) Testisin, et k\u00f5ik t\u00f6\u00f6tab korralikult: 2. Muutmine: Lisasime seotud tabeli owners tabelile autoreregister, et hallata autode omanike andmeid. Muudeti triggerite toimingud nii, et andmed tabelist owners kajastuvad ka logitabelis logitabel iga lisamise, uuendamise ja kustutamise korral autoreregister tabelis. 1. Lisasime seotud tabeli owners: Tabel owners sisaldab auto omaniku andmeid, mis on seotud tabeliga autoreregister. Tabeli owners loomine: Tabeli autoreregister muutmine ja v\u00e4lisv\u00f5tme lisamine: Triggerid: [SQL Server] \u00dche tabeli triggeri loomine harjutus Sisestan andmed: Eemaldan andmed: Uuendan andmed: Tehtud tegevused logi tabelis: Triggerite loomine [SQL Server] Harjutus kahe tabelite seosete (on loodud tabel &#8216;omanik&#8217;)<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-586","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Andmebaas - Triggers - Alex&#039;s Arsenal (Shop)<\/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:\/\/aleksanderbekasov24.thkit.ee\/wp\/ru\/andmebaas-triggers\/\" \/>\n<meta property=\"og:locale\" content=\"ru_RU\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Andmebaas - Triggers - Alex&#039;s Arsenal (Shop)\" \/>\n<meta property=\"og:description\" content=\"Logitabeli ja trigger&#8217;ite loomine autoriregistri muutuste logimiseks \u00dclesanne:Luua tabel logitabel(id, toiming, aeg, autoAndmed), mis fikseerib muudatused autoreregister tabelis. Samuti tuleb luua autoreregister tabel koos v\u00e4lja m\u00f5eldud veergudega ning teha triggerid, mis logivad INSERT, UPDATE ja DELETE toiminguid logitabel tabelisse. Kontrollida, kas triggerid t\u00f6\u00f6tavad. \ud83d\udd39 1. Tabeli autoreregister loomine L\u00f5in tabeli, kuhu salvestatakse auto andmed. V\u00e4ljad, mille valisin: \ud83d\udd39 2. Tabeli logitabel loomine See tabel salvestab k\u00f5ik muudatused, mis toimuvad autoreregister tabelis. V\u00e4ljad: \ud83d\udd39 3. Triggerite loomine L\u00f5in kolm triggerit, mis lisavad muudatuse logitabel tabelisse. \u2705 INSERT Trigger \u2705 UPDATE Trigger \u2705 DELETE Trigger \ud83d\udd39 4. Kontrollimine (Testimine) Testisin, et k\u00f5ik t\u00f6\u00f6tab korralikult: 2. Muutmine: Lisasime seotud tabeli owners tabelile autoreregister, et hallata autode omanike andmeid. Muudeti triggerite toimingud nii, et andmed tabelist owners kajastuvad ka logitabelis logitabel iga lisamise, uuendamise ja kustutamise korral autoreregister tabelis. 1. Lisasime seotud tabeli owners: Tabel owners sisaldab auto omaniku andmeid, mis on seotud tabeliga autoreregister. Tabeli owners loomine: Tabeli autoreregister muutmine ja v\u00e4lisv\u00f5tme lisamine: Triggerid: [SQL Server] \u00dche tabeli triggeri loomine harjutus Sisestan andmed: Eemaldan andmed: Uuendan andmed: Tehtud tegevused logi tabelis: Triggerite loomine [SQL Server] Harjutus kahe tabelite seosete (on loodud tabel &#039;omanik&#039;)\" \/>\n<meta property=\"og:url\" content=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/ru\/andmebaas-triggers\/\" \/>\n<meta property=\"og:site_name\" content=\"Alex&#039;s Arsenal (Shop)\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-10T10:15:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1918\" \/>\n\t<meta property=\"og:image:height\" content=\"392\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 \u043c\u0438\u043d\u0443\u0442\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/aleksanderbekasov24.thkit.ee\\\/wp\\\/andmebaas-triggers\\\/\",\"url\":\"https:\\\/\\\/aleksanderbekasov24.thkit.ee\\\/wp\\\/andmebaas-triggers\\\/\",\"name\":\"Andmebaas - Triggers - Alex's Arsenal (Shop)\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/aleksanderbekasov24.thkit.ee\\\/wp\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/aleksanderbekasov24.thkit.ee\\\/wp\\\/andmebaas-triggers\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/aleksanderbekasov24.thkit.ee\\\/wp\\\/andmebaas-triggers\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/aleksanderbekasov24.thkit.ee\\\/wp\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/t1-1024x209.png\",\"datePublished\":\"2025-04-10T07:37:12+00:00\",\"dateModified\":\"2025-04-10T10:15:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/aleksanderbekasov24.thkit.ee\\\/wp\\\/andmebaas-triggers\\\/#breadcrumb\"},\"inLanguage\":\"ru-RU\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/aleksanderbekasov24.thkit.ee\\\/wp\\\/andmebaas-triggers\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\\\/\\\/aleksanderbekasov24.thkit.ee\\\/wp\\\/andmebaas-triggers\\\/#primaryimage\",\"url\":\"https:\\\/\\\/aleksanderbekasov24.thkit.ee\\\/wp\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/t1-1024x209.png\",\"contentUrl\":\"https:\\\/\\\/aleksanderbekasov24.thkit.ee\\\/wp\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/t1-1024x209.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/aleksanderbekasov24.thkit.ee\\\/wp\\\/andmebaas-triggers\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/aleksanderbekasov24.thkit.ee\\\/wp\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Andmebaas &#8211; Triggers\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/aleksanderbekasov24.thkit.ee\\\/wp\\\/#website\",\"url\":\"https:\\\/\\\/aleksanderbekasov24.thkit.ee\\\/wp\\\/\",\"name\":\"Alex's Arsenal (Shop) \u00a9 2025 All rights reserved.\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/aleksanderbekasov24.thkit.ee\\\/wp\\\/#\\\/schema\\\/person\\\/3b5a2663a9eba24938a504553bfddac8\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/aleksanderbekasov24.thkit.ee\\\/wp\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ru-RU\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/aleksanderbekasov24.thkit.ee\\\/wp\\\/#\\\/schema\\\/person\\\/3b5a2663a9eba24938a504553bfddac8\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ru-RU\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/89ec08a71657132fe138df1f49857196ebc20c1d30c12bddb082e6bc8abb224d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/89ec08a71657132fe138df1f49857196ebc20c1d30c12bddb082e6bc8abb224d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/89ec08a71657132fe138df1f49857196ebc20c1d30c12bddb082e6bc8abb224d?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/89ec08a71657132fe138df1f49857196ebc20c1d30c12bddb082e6bc8abb224d?s=96&d=mm&r=g\"},\"sameAs\":[\"https:\\\/\\\/aleksanderbekasov24.thkit.ee\\\/wp\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Andmebaas - Triggers - Alex's Arsenal (Shop)","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:\/\/aleksanderbekasov24.thkit.ee\/wp\/ru\/andmebaas-triggers\/","og_locale":"ru_RU","og_type":"article","og_title":"Andmebaas - Triggers - Alex's Arsenal (Shop)","og_description":"Logitabeli ja trigger&#8217;ite loomine autoriregistri muutuste logimiseks \u00dclesanne:Luua tabel logitabel(id, toiming, aeg, autoAndmed), mis fikseerib muudatused autoreregister tabelis. Samuti tuleb luua autoreregister tabel koos v\u00e4lja m\u00f5eldud veergudega ning teha triggerid, mis logivad INSERT, UPDATE ja DELETE toiminguid logitabel tabelisse. Kontrollida, kas triggerid t\u00f6\u00f6tavad. \ud83d\udd39 1. Tabeli autoreregister loomine L\u00f5in tabeli, kuhu salvestatakse auto andmed. V\u00e4ljad, mille valisin: \ud83d\udd39 2. Tabeli logitabel loomine See tabel salvestab k\u00f5ik muudatused, mis toimuvad autoreregister tabelis. V\u00e4ljad: \ud83d\udd39 3. Triggerite loomine L\u00f5in kolm triggerit, mis lisavad muudatuse logitabel tabelisse. \u2705 INSERT Trigger \u2705 UPDATE Trigger \u2705 DELETE Trigger \ud83d\udd39 4. Kontrollimine (Testimine) Testisin, et k\u00f5ik t\u00f6\u00f6tab korralikult: 2. Muutmine: Lisasime seotud tabeli owners tabelile autoreregister, et hallata autode omanike andmeid. Muudeti triggerite toimingud nii, et andmed tabelist owners kajastuvad ka logitabelis logitabel iga lisamise, uuendamise ja kustutamise korral autoreregister tabelis. 1. Lisasime seotud tabeli owners: Tabel owners sisaldab auto omaniku andmeid, mis on seotud tabeliga autoreregister. Tabeli owners loomine: Tabeli autoreregister muutmine ja v\u00e4lisv\u00f5tme lisamine: Triggerid: [SQL Server] \u00dche tabeli triggeri loomine harjutus Sisestan andmed: Eemaldan andmed: Uuendan andmed: Tehtud tegevused logi tabelis: Triggerite loomine [SQL Server] Harjutus kahe tabelite seosete (on loodud tabel 'omanik')","og_url":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/ru\/andmebaas-triggers\/","og_site_name":"Alex's Arsenal (Shop)","article_modified_time":"2025-04-10T10:15:46+00:00","og_image":[{"width":1918,"height":392,"url":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t1.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"\u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f":"5 \u043c\u0438\u043d\u0443\u0442"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/andmebaas-triggers\/","url":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/andmebaas-triggers\/","name":"Andmebaas - Triggers - Alex's Arsenal (Shop)","isPartOf":{"@id":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/#website"},"primaryImageOfPage":{"@id":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/andmebaas-triggers\/#primaryimage"},"image":{"@id":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/andmebaas-triggers\/#primaryimage"},"thumbnailUrl":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t1-1024x209.png","datePublished":"2025-04-10T07:37:12+00:00","dateModified":"2025-04-10T10:15:46+00:00","breadcrumb":{"@id":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/andmebaas-triggers\/#breadcrumb"},"inLanguage":"ru-RU","potentialAction":[{"@type":"ReadAction","target":["https:\/\/aleksanderbekasov24.thkit.ee\/wp\/andmebaas-triggers\/"]}]},{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/andmebaas-triggers\/#primaryimage","url":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t1-1024x209.png","contentUrl":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/wp-content\/uploads\/2025\/04\/t1-1024x209.png"},{"@type":"BreadcrumbList","@id":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/andmebaas-triggers\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/"},{"@type":"ListItem","position":2,"name":"Andmebaas &#8211; Triggers"}]},{"@type":"WebSite","@id":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/#website","url":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/","name":"Alex's Arsenal (Shop) \u00a9 2025 All rights reserved.","description":"","publisher":{"@id":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/#\/schema\/person\/3b5a2663a9eba24938a504553bfddac8"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ru-RU"},{"@type":["Person","Organization"],"@id":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/#\/schema\/person\/3b5a2663a9eba24938a504553bfddac8","name":"admin","image":{"@type":"ImageObject","inLanguage":"ru-RU","@id":"https:\/\/secure.gravatar.com\/avatar\/89ec08a71657132fe138df1f49857196ebc20c1d30c12bddb082e6bc8abb224d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/89ec08a71657132fe138df1f49857196ebc20c1d30c12bddb082e6bc8abb224d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/89ec08a71657132fe138df1f49857196ebc20c1d30c12bddb082e6bc8abb224d?s=96&d=mm&r=g","caption":"admin"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/89ec08a71657132fe138df1f49857196ebc20c1d30c12bddb082e6bc8abb224d?s=96&d=mm&r=g"},"sameAs":["https:\/\/aleksanderbekasov24.thkit.ee\/wp"]}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/ru\/wp-json\/wp\/v2\/pages\/586","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/ru\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/ru\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/ru\/wp-json\/wp\/v2\/comments?post=586"}],"version-history":[{"count":79,"href":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/ru\/wp-json\/wp\/v2\/pages\/586\/revisions"}],"predecessor-version":[{"id":719,"href":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/ru\/wp-json\/wp\/v2\/pages\/586\/revisions\/719"}],"wp:attachment":[{"href":"https:\/\/aleksanderbekasov24.thkit.ee\/wp\/ru\/wp-json\/wp\/v2\/media?parent=586"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}