{"id":430,"date":"2010-03-30T14:31:54","date_gmt":"2010-03-30T13:31:54","guid":{"rendered":"http:\/\/blog.capdata.fr\/?p=430"},"modified":"2019-09-13T14:58:52","modified_gmt":"2019-09-13T13:58:52","slug":"un-trigger-fait-il-parti-dune-transaction","status":"publish","type":"post","link":"https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/","title":{"rendered":"Un trigger fait-il parti d&#8217;une transaction ?"},"content":{"rendered":"<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F430&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F430&#038;title=Un%20trigger%20fait-il%20parti%20d%E2%80%99une%20transaction%20%3F\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=Un%20trigger%20fait-il%20parti%20d%E2%80%99une%20transaction%20%3F&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F430\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a><p>C&#8217;est une question que l&#8217;on peut se poser, m\u00eame si la r\u00e9ponse parait \u00e9vidente, nous ne sommes pas \u00e0 l&#8217;abri d&#8217;\u00e9ventuelles surprises. Verdict \u00e0 la fin de ce post !<\/p>\n<p>C&#8217;est d&#8217;ailleurs une question que l&#8217;on s&#8217;est pos\u00e9e, autour de la machine caf\u00e9, et qui du coup a fait l&#8217;objet d&#8217;un petit exercice avec Oracle, SQL Server, MySQL et Sybase&#8230; Bon, je vous rassure, nous ne faisons pas que parler bases de donn\u00e9es pendant les pauses caf\u00e9 mais \u00e7a arrive, parfois.<\/p>\n<h2>Place aux tests : Un trigger fait-il parti d&#8217;une transaction ?<\/h2>\n<h3><span style=\"text-decoration: underline;\">Test Oracle :<\/span><\/h3>\n<pre>SQL &gt; create table t2 ( cnt int );\r\n SQL &gt; insert into t2 values ( 0 );\r\n SQL &gt; commit;\r\n SQL &gt; create table t ( x int check ( x&gt;0 ) );<\/pre>\n<pre>SQL &gt; create trigger t_trigger\r\n before insert or delete on t for each row\r\n begin\r\n if ( inserting ) then\r\n update t2 set cnt = cnt +1;\r\n else\r\n update t2 set cnt = cnt -1;\r\n end if;\r\n dbms_output.put_line( 'I fired and updated ' ||sql%rowcount || ' rows'  );\r\n end;\r\n \/<\/pre>\n<p><span style=\"text-decoration: underline;\">R\u00e9sultat : OUI<br \/>\n<\/span><\/p>\n<pre>SQL &gt; set serveroutput on\r\n SQL &gt; insert into t values (1);\r\n I fired and updated 1 rows\r\n 1 row created.\r\n SQL &gt; insert into t values(-1);\r\n I fired and updated 1 rows\r\n insert into t values(-1)\r\n *\r\n ERROR at line 1:\r\n ORA-02290: check constraint (SYS_C009597) violated\r\n SQL &gt; select * from t2;\r\n CNT\r\n ----------\r\n 1<\/pre>\n<h3><span style=\"text-decoration: underline;\">Test MS SQL Server :<\/span><\/h3>\n<pre>use tempdb\r\n go<\/pre>\n<pre>create table t2 ( cnt int )\r\n insert into  t2 values ( 0 )\r\n select * from t2<\/pre>\n<pre>create table t ( x int check  ( x&gt;0 ) )<\/pre>\n<pre>drop trigger t_trigger\r\n create trigger t_trigger  on t for insert\r\n as\r\n begin\r\n update t2 set cnt = cnt +1\r\n print( 'I fired and updated ' + CAST(@@ROWCOUNT AS NVARCHAR(8))\u00a0 + '  rows' )\r\n end<\/pre>\n<p><span style=\"text-decoration: underline;\">R\u00e9sultat : OUI<br \/>\n<\/span><\/p>\n<pre>begin tran\r\n insert into t values(2);\r\n insert into t values(-1);<\/pre>\n<pre>(1 row(s) affected)\r\n I fired and updated  1 rows<\/pre>\n<pre>(1 row(s) affected)\r\n Msg 547, Level 16, State  0, Line 4\r\n The INSERT statement conflicted with the CHECK constraint  \"CK__t__x__7A5DD7C8\". The conflict occurred in database \"tempdb\", table  \"dbo.t\", column 'x'.\r\n The statement has been terminated.<\/pre>\n<h3><span style=\"text-decoration: underline;\">Test MySQL (InnoDB) :<\/span><\/h3>\n<p>Au passage, cela m&#8217;a permis de d\u00e9couvrir que les contraintes <em>CHECK <\/em>n&#8217;\u00e9taient  pas prises en charge par MySQL : <em>The <code>CHECK<\/code> clause is  parsed but ignored by all storage engines<\/em><\/p>\n<pre>mysql&gt; set autocommit=off;\r\n Query OK, 0 rows affected (0.02  sec)<\/pre>\n<pre>mysql&gt; use test\r\n Database changed\r\n mysql&gt; create  table t2 ( cnt int ) engine=innodb;\r\n Query OK, 0 rows affected (0.11  sec)<\/pre>\n<pre>mysql&gt; insert into t2 values ( 0 );\r\n Query OK, 1 row  affected (0.02 sec)<\/pre>\n<pre>mysql&gt; commit;\r\n Query OK, 0 rows  affected (0.11 sec)<\/pre>\n<pre>mysql&gt; create table t ( x int primary key)  engine=innodb;\r\n Query OK, 0 rows affected (0.09 sec)<\/pre>\n<pre>mysql&gt;  delimiter \/\/<\/pre>\n<pre>mysql&gt; create trigger t_trigger\r\n -&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 before insert on t for each row\r\n -&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0  begin\r\n -&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 update t2 set cnt = cnt +1;\r\n -&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 end;\r\n -&gt; \/\/\r\n Query OK, 0 rows affected (0.11  sec)<\/pre>\n<pre>mysql&gt; delimiter ;<\/pre>\n<p><span style=\"text-decoration: underline;\">R\u00e9sultat : OUI<br \/>\n<\/span><\/p>\n<pre>mysql&gt; insert into t values (1);\r\n Query OK, 1 row affected  (0.02 sec)<\/pre>\n<pre>mysql&gt; insert into t values (1);\r\n ERROR 1062  (23000): Duplicate entry '1' for key 'PRIMARY'<\/pre>\n<pre>mysql&gt; select *  from t2;\r\n +------+\r\n | cnt\u00a0 |\r\n +------+\r\n |\u00a0\u00a0\u00a0 1 |\r\n +------+\r\n 1 row in set (0.00 sec)<\/pre>\n<h3><span style=\"text-decoration: underline;\">Test Sybase :<br \/>\n<\/span><\/h3>\n<pre>1&gt; create trigger T1_ins_tr on T1 for insert<\/pre>\n<pre>2&gt; as<\/pre>\n<pre> 3&gt; begin<\/pre>\n<pre> 4&gt; select 1\/0<\/pre>\n<pre> 5&gt; end<\/pre>\n<pre> 6&gt; go<\/pre>\n<p><span style=\"text-decoration: underline;\">R\u00e9sultat : OUI<br \/>\n<\/span><\/p>\n<pre>5&gt; begin tran\r\n 6&gt; go\r\n 1&gt; insert into T1 values ('kjhkjhkjh')\r\n 2&gt; go\r\n Msg 3607, Level 16, State 0:\r\n Server 'ASE1502', Procedure 'T1_ins_tr', Line 4:\r\n Divide by zero occurred.<\/pre>\n<pre>-----------\r\n 1&gt; select @@trancount\r\n 2&gt; go<\/pre>\n<pre>-----------\r\n 0<\/pre>\n<pre>(1 row affected)<\/pre>\n<h2>R\u00e9sultat des tests : LE VERDICT !<\/h2>\n<p>Oui, un trigger fait bien parti d&#8217;une transaction, quel que soit le SGBD, enfin, au moins sur Oracle, SQL Serveur, MySQL et Sybase.<\/p>\n<p>Je vous laisse faire vos tests sur DB2, Postgre et consorts&#8230; N&#8217;h\u00e9sitez pas \u00e0 nous faire un retour dans les commentaires.<\/p>\n<p>A+<br \/>\nC\u00e9dric<\/p>\n<a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-twitter nolightbox\" data-provider=\"twitter\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Twitter\" href=\"https:\/\/twitter.com\/intent\/tweet?url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F430&#038;text=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"twitter\" title=\"Share on Twitter\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/twitter.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-linkedin nolightbox\" data-provider=\"linkedin\" target=\"_blank\" rel=\"nofollow\" title=\"Share on Linkedin\" href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F430&#038;title=Un%20trigger%20fait-il%20parti%20d%E2%80%99une%20transaction%20%3F\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px;margin-right:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"linkedin\" title=\"Share on Linkedin\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/linkedin.png\" \/><\/a><a class=\"synved-social-button synved-social-button-share synved-social-size-24 synved-social-resolution-single synved-social-provider-mail nolightbox\" data-provider=\"mail\" rel=\"nofollow\" title=\"Share by email\" href=\"mailto:?subject=Un%20trigger%20fait-il%20parti%20d%E2%80%99une%20transaction%20%3F&#038;body=Article%20sur%20le%20blog%20de%20la%20Capdata%20Tech%20Team%20%3A%20:%20https%3A%2F%2Fblog.capdata.fr%2Findex.php%2Fwp-json%2Fwp%2Fv2%2Fposts%2F430\" style=\"font-size: 0px;width:24px;height:24px;margin:0;margin-bottom:5px\"><img loading=\"lazy\" decoding=\"async\" alt=\"mail\" title=\"Share by email\" class=\"synved-share-image synved-social-image synved-social-image-share\" width=\"24\" height=\"24\" style=\"display: inline;width:24px;height:24px;margin: 0;padding: 0;border: none;box-shadow: none\" src=\"https:\/\/blog.capdata.fr\/wp-content\/plugins\/social-media-feather\/synved-social\/image\/social\/regular\/48x48\/mail.png\" \/><\/a>","protected":false},"excerpt":{"rendered":"<p>C&#8217;est une question que l&#8217;on peut se poser, m\u00eame si la r\u00e9ponse parait \u00e9vidente, nous ne sommes pas \u00e0 l&#8217;abri d&#8217;\u00e9ventuelles surprises. Verdict \u00e0 la fin de ce post ! C&#8217;est d&#8217;ailleurs une question que l&#8217;on s&#8217;est pos\u00e9e, autour de&hellip; <a href=\"https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/\" class=\"more-link\">Continuer la lecture <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":14,"featured_media":7955,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[143,4,3,5,6],"tags":[67,66,65,64],"class_list":["post-430","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-general","category-mysql","category-oracle","category-sqlserver","category-sybase","tag-acid","tag-atomique","tag-transaction","tag-trigger"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Un trigger fait-il parti d&#039;une transaction ? - Capdata TECH BLOG<\/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:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Un trigger fait-il parti d&#039;une transaction ? - Capdata TECH BLOG\" \/>\n<meta property=\"og:description\" content=\"C&#8217;est une question que l&#8217;on peut se poser, m\u00eame si la r\u00e9ponse parait \u00e9vidente, nous ne sommes pas \u00e0 l&#8217;abri d&#8217;\u00e9ventuelles surprises. Verdict \u00e0 la fin de ce post ! C&#8217;est d&#8217;ailleurs une question que l&#8217;on s&#8217;est pos\u00e9e, autour de&hellip; Continuer la lecture &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/\" \/>\n<meta property=\"og:site_name\" content=\"Capdata TECH BLOG\" \/>\n<meta property=\"article:published_time\" content=\"2010-03-30T13:31:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-09-13T13:58:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2010\/03\/trigger.png\" \/>\n\t<meta property=\"og:image:width\" content=\"659\" \/>\n\t<meta property=\"og:image:height\" content=\"369\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Benjamin VESAN\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Benjamin VESAN\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/\"},\"author\":{\"name\":\"Benjamin VESAN\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/ae56d1d3d5680d95ccc2c927e44bdc3e\"},\"headline\":\"Un trigger fait-il parti d&#8217;une transaction ?\",\"datePublished\":\"2010-03-30T13:31:54+00:00\",\"dateModified\":\"2019-09-13T13:58:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/\"},\"wordCount\":204,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"keywords\":[\"ACID\",\"atomique\",\"transaction\",\"trigger\"],\"articleSection\":[\"G\u00e9n\u00e9ral\",\"MySQL\",\"Oracle\",\"SQL Server\",\"Sybase\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/\",\"url\":\"https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/\",\"name\":\"Un trigger fait-il parti d'une transaction ? - Capdata TECH BLOG\",\"isPartOf\":{\"@id\":\"https:\/\/blog.capdata.fr\/#website\"},\"datePublished\":\"2010-03-30T13:31:54+00:00\",\"dateModified\":\"2019-09-13T13:58:52+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/blog.capdata.fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Un trigger fait-il parti d&#8217;une transaction ?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.capdata.fr\/#website\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"name\":\"Capdata TECH BLOG\",\"description\":\"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting\",\"publisher\":{\"@id\":\"https:\/\/blog.capdata.fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.capdata.fr\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/blog.capdata.fr\/#organization\",\"name\":\"Capdata TECH BLOG\",\"url\":\"https:\/\/blog.capdata.fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"contentUrl\":\"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp\",\"width\":800,\"height\":254,\"caption\":\"Capdata TECH BLOG\"},\"image\":{\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.capdata.fr\/#\/schema\/person\/ae56d1d3d5680d95ccc2c927e44bdc3e\",\"name\":\"Benjamin VESAN\",\"url\":\"https:\/\/blog.capdata.fr\/index.php\/author\/bvesan\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Un trigger fait-il parti d'une transaction ? - Capdata TECH BLOG","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:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/","og_locale":"fr_FR","og_type":"article","og_title":"Un trigger fait-il parti d'une transaction ? - Capdata TECH BLOG","og_description":"C&#8217;est une question que l&#8217;on peut se poser, m\u00eame si la r\u00e9ponse parait \u00e9vidente, nous ne sommes pas \u00e0 l&#8217;abri d&#8217;\u00e9ventuelles surprises. Verdict \u00e0 la fin de ce post ! C&#8217;est d&#8217;ailleurs une question que l&#8217;on s&#8217;est pos\u00e9e, autour de&hellip; Continuer la lecture &rarr;","og_url":"https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/","og_site_name":"Capdata TECH BLOG","article_published_time":"2010-03-30T13:31:54+00:00","article_modified_time":"2019-09-13T13:58:52+00:00","og_image":[{"width":659,"height":369,"url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2010\/03\/trigger.png","type":"image\/png"}],"author":"Benjamin VESAN","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"Benjamin VESAN","Dur\u00e9e de lecture estim\u00e9e":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/#article","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/"},"author":{"name":"Benjamin VESAN","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/ae56d1d3d5680d95ccc2c927e44bdc3e"},"headline":"Un trigger fait-il parti d&#8217;une transaction ?","datePublished":"2010-03-30T13:31:54+00:00","dateModified":"2019-09-13T13:58:52+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/"},"wordCount":204,"commentCount":1,"publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"keywords":["ACID","atomique","transaction","trigger"],"articleSection":["G\u00e9n\u00e9ral","MySQL","Oracle","SQL Server","Sybase"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/","url":"https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/","name":"Un trigger fait-il parti d'une transaction ? - Capdata TECH BLOG","isPartOf":{"@id":"https:\/\/blog.capdata.fr\/#website"},"datePublished":"2010-03-30T13:31:54+00:00","dateModified":"2019-09-13T13:58:52+00:00","breadcrumb":{"@id":"https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.capdata.fr\/index.php\/un-trigger-fait-il-parti-dune-transaction\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/blog.capdata.fr\/"},{"@type":"ListItem","position":2,"name":"Un trigger fait-il parti d&#8217;une transaction ?"}]},{"@type":"WebSite","@id":"https:\/\/blog.capdata.fr\/#website","url":"https:\/\/blog.capdata.fr\/","name":"Capdata TECH BLOG","description":"Le blog technique sur les bases de donn\u00e9es de CAP DATA Consulting","publisher":{"@id":"https:\/\/blog.capdata.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.capdata.fr\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/blog.capdata.fr\/#organization","name":"Capdata TECH BLOG","url":"https:\/\/blog.capdata.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/","url":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","contentUrl":"https:\/\/blog.capdata.fr\/wp-content\/uploads\/2023\/01\/logo_capdata.webp","width":800,"height":254,"caption":"Capdata TECH BLOG"},"image":{"@id":"https:\/\/blog.capdata.fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/cap-data-consulting\/mycompany\/"]},{"@type":"Person","@id":"https:\/\/blog.capdata.fr\/#\/schema\/person\/ae56d1d3d5680d95ccc2c927e44bdc3e","name":"Benjamin VESAN","url":"https:\/\/blog.capdata.fr\/index.php\/author\/bvesan\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/430","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/comments?post=430"}],"version-history":[{"count":10,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/430\/revisions"}],"predecessor-version":[{"id":884,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/posts\/430\/revisions\/884"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media\/7955"}],"wp:attachment":[{"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/media?parent=430"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/categories?post=430"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.capdata.fr\/index.php\/wp-json\/wp\/v2\/tags?post=430"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}