{"id":187,"date":"2012-10-06T13:39:41","date_gmt":"2012-10-06T12:39:41","guid":{"rendered":"http:\/\/www.bocciolesi.fr\/tutoriels-et-cours\/?p=187"},"modified":"2017-02-24T14:16:56","modified_gmt":"2017-02-24T13:16:56","slug":"les-routines-mysql","status":"publish","type":"post","link":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/les-routines-mysql\/","title":{"rendered":"Les outils MySQL : ROUTINES &#8211; FONCTIONS &#8211; VUES &#8211; TRIGGERS"},"content":{"rendered":"<div class=\"pdfprnt-buttons pdfprnt-buttons-post pdfprnt-top-right\"><a href=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/posts\/187?print=pdf\" class=\"pdfprnt-button pdfprnt-button-pdf\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/plugins\/pdf-print\/images\/pdf.png\" alt=\"image_pdf\" title=\"Afficher le PDF\" \/><span class=\"pdfprnt-button-title pdfprnt-button-pdf-title\">Enregistrer en PDF<\/span><\/a><a href=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/posts\/187?print=print\" class=\"pdfprnt-button pdfprnt-button-print\" target=\"_blank\"><\/a><\/div><p><span style=\"color: #3366ff;\"><strong>I\u25baDans ce tutoriel, nous allons aborder les d\u00e9finitions d&#8217;outils stock\u00e9s dans Mysql ..<\/strong><\/span><\/p>\n<p><strong><span style=\"color: #800080;\">Les ROUTINES ( proc\u00e9dures stock\u00e9es ou fonctions )<\/span><\/strong><\/p>\n<p>Les <span style=\"color: #3366ff;\"><strong>routines <\/strong><\/span>sont des <span style=\"color: #3366ff;\"><strong>programmes stock\u00e9s<\/strong><\/span> dans le serveur MySQL.<\/p>\n<p><strong><span style=\"color: #800080;\">?\u00a0<\/span><\/strong>On retrouve les informations les concernant dans la base nomm\u00e9e <strong><span style=\"color: #800080;\">information_schema<\/span><\/strong>\u00a0.<br \/>\nCette base de donn\u00e9es stocke des informations importantes comme :<\/p>\n<ul>\n<li><span style=\"line-height: 1.714285714; font-size: 1rem;\">Les variables de sessions :<strong><span style=\"color: #3366ff;\"> SESSION_VARIABLES<\/span><\/strong> (variables d&#8217;optimisation et de tuning : show variables; )<\/span><\/li>\n<li>Le status du serveur : <strong><span style=\"color: #3366ff;\">SESSION_STATUS<\/span> <\/strong>( l&#8217;\u00e9tat actuel du serveur : show status; )<\/li>\n<li>Les privil\u00e8ges des utilisateurs : <strong><span style=\"color: #3366ff;\">USER_PRIVILEGES<\/span><\/strong><\/li>\n<li>Les proc\u00e9dures stock\u00e9es : <strong><span style=\"color: #3366ff;\">ROUTINES<\/span><\/strong><\/li>\n<li>Les vues : <strong><span style=\"color: #3366ff;\">VIEWS<\/span><\/strong><\/li>\n<li>Les triggers d&#8217;\u00e9v\u00e9nements : <strong><span style=\"color: #3366ff;\">TRIGGERS\u00a0<\/span><\/strong><\/li>\n<li>Et beaucoup d&#8217;autres informations &#8230;<\/li>\n<\/ul>\n<p>Les <strong><span style=\"color: #800080;\">ROUTINES<\/span> <\/strong>permettent d&#8217;automatiser des t\u00e2ches r\u00e9currentes d&#8217;administration.<br \/>\nLe langage est tr\u00e8s simple mais orient\u00e9 administration..<\/p>\n<p><span style=\"color: #800080;\"><strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/strong><\/span><\/p>\n<p><span style=\"color: #800080;\"><strong>1 &#8211; Les PROCEDURES STOCKEES &#8230;<\/strong><\/span><\/p>\n<p><span style=\"color: #800080;\"><strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/strong><\/span><\/p>\n<p>La\u00a0<span style=\"color: #3366ff;\"><strong>proc\u00e9dure\u00a0<\/strong><\/span>ne retourne pas en\u00a0<strong><span style=\"color: #3366ff;\">principe<\/span>*<\/strong>\u00a0de valeur alors qu&#8217;une\u00a0<span style=\"color: #3366ff;\"><strong>fonction\u00a0<\/strong><\/span>retourne elle un r\u00e9sultat.<br \/>\n<em><strong>*<\/strong>\u00a0la proc\u00e9dure peut tout de m\u00eame retourner un jeu d&#8217;enregistrements via une requ\u00eate SELECT&#8230;<\/em><\/p>\n<p><span style=\"line-height: 1.714285714; font-size: 1rem;\">Les banques utilisent les proc\u00e9dures stock\u00e9es pour toutes les op\u00e9rations standards.<br \/>\nCela conduit \u00e0 un environnement coh\u00e9rent et s\u00e9curis\u00e9, car les proc\u00e9dures assurent que les op\u00e9rations sont correctement fa\u00eetes et enregistr\u00e9es.\u00a0Dans une telle configuration, les applications et les utilisateurs n&#8217;ont aucun acc\u00e8s direct aux tables, mais passent par des proc\u00e9dures stock\u00e9es pr\u00e9-d\u00e9finies.<\/span><\/p>\n<p><strong><span style=\"color: #3366ff;\">?\u00a0<\/span><\/strong>Nous allons prendre un premier exemple avec une proc\u00e9dure stock\u00e9e :<br \/>\n<em>L\u2019administrateur root cr\u00e9e une proc\u00e9dure stock\u00e9e nomm\u00e9e <strong><span style=\"color: #3366ff;\">movies<\/span> <\/strong>qui au passage de l&#8217;argument <\/em><strong><span style=\"color: #3366ff;\">IN<\/span> <\/strong><em>cherchera dans les titres des films tout ce qui commence par &#8230;<\/em><\/p>\n<p>Toutes les proc\u00e9dures stock\u00e9es encapsulent leur code par un <strong><span style=\"color: #3366ff;\">DELIMITER<\/span> <\/strong>pour \u00e9viter \u00e0 MySQL de chercher \u00e0 interpr\u00e9ter ces instructions le temps de leur cr\u00e9ation &#8230; Il est d&#8217;usage d&#8217;utiliser le \/\/ ou $$. Les instructions sont \u00e9galement encadr\u00e9es d&#8217;un <strong><span style=\"color: #3366ff;\">BEGIN<\/span> <\/strong>et d&#8217;un <strong><span style=\"color: #3366ff;\">END<\/span><\/strong>.<\/p>\n<p><a href=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture18.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1247\" src=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture18.png\" alt=\"Capture\" width=\"881\" height=\"457\" srcset=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture18.png 881w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture18-300x155.png 300w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture18-624x323.png 624w\" sizes=\"auto, (max-width: 881px) 100vw, 881px\" \/><\/a><\/p>\n<p><em>\u00a0? S\u00e9curisation des donn\u00e9es<\/em> :\u00a0On notera \u00e9galement que le propri\u00e9taire de la proc\u00e9dure est ROOT (<strong><span style=\"color: #3366ff;\">DEFINER<\/span><\/strong>) et que le <strong><span style=\"color: #3366ff;\">SQL SECURITY est au niveau DEFINER<\/span><\/strong>, ( au lieu de INVOKER), on verra plus loin que m\u00eame i l&#8217;utilisateur n&#8217;a pas de privil\u00e8ges sur ces tables, il pourra quand m\u00eame traiter les donn\u00e9es.<\/p>\n<p><a href=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture19.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1248\" src=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture19.png\" alt=\"Capture1\" width=\"445\" height=\"67\" srcset=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture19.png 445w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture19-300x45.png 300w\" sizes=\"auto, (max-width: 445px) 100vw, 445px\" \/><\/a><\/p>\n<p>L&#8217;utilisateur michel a uniquement le privil\u00e8ge <strong><span style=\"color: #3366ff;\">execute<\/span> <\/strong>sur la base sakila (pour \u00e9x\u00e9cuter les routines)<\/p>\n<p>Il va tout de m\u00eame essyaer de traiter les donn\u00e9es de la table actor &#8230;<br \/>\nL&#8217;acc\u00e8s lui est refus\u00e9, par contre s&#8217;il utilise la proc\u00e9dure stock\u00e9e movies, cela fonctionne \ud83d\ude42<\/p>\n<p><a href=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture24.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1253\" src=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture24.png\" alt=\"Capture2\" width=\"1108\" height=\"595\" srcset=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture24.png 1108w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture24-300x161.png 300w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture24-1024x549.png 1024w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture24-624x335.png 624w\" sizes=\"auto, (max-width: 1108px) 100vw, 1108px\" \/><\/a><\/p>\n<p><strong style=\"color: #800080; line-height: 1.714285714; font-size: 1rem;\">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/strong><\/p>\n<p><span style=\"color: #800080;\"><strong>2 &#8211; Les FONCTIONS &#8230;<\/strong><\/span><\/p>\n<p><span style=\"color: #800080;\"><strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/strong><\/span><\/p>\n<p>?\u00a0La <strong><span style=\"color: #3366ff;\">fonction<\/span> <\/strong>peut renvoyer un r\u00e9sultat, elle peut donc faire r\u00e9f\u00e9rence aux m\u00e9thodes propres de MySQL:<\/p>\n<p><a href=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1040\" src=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture5.png\" alt=\"Capture\" width=\"542\" height=\"217\" srcset=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture5.png 542w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture5-300x120.png 300w\" sizes=\"auto, (max-width: 542px) 100vw, 542px\" \/><\/a><\/p>\n<p>L&#8217;appel de la fonction se fait avec la clause SELECT \u00a0&#8230;<\/p>\n<p><a href=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture12.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1041\" src=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture12.png\" alt=\"Capture1\" width=\"482\" height=\"184\" srcset=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture12.png 482w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture12-300x114.png 300w\" sizes=\"auto, (max-width: 482px) 100vw, 482px\" \/><\/a><\/p>\n<p><strong><span style=\"color: #800080;\">\u00a0&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/span><\/strong><\/p>\n<p><strong><span style=\"color: #800080;\">3 &#8211; Les vues :<\/span><\/strong><\/p>\n<p><strong><span style=\"color: #800080;\">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/span><\/strong><\/p>\n<p>Les vues sont des\u00a0requ\u00eates\u00a0stock\u00e9es (enregistr\u00e9es) sur le serveur et retournent des tables de donn\u00e9es. Elles offrent une interface secondaire aux clients et permettent de cacher et rendre non accessible\u00a0dans une certaine mesure \u00a0certaines informations de la base.<\/p>\n<p>Elles sont un tampon interm\u00e9diaire et permettent de fluidifier les transactions &#8230;<\/p>\n<p>?\u00a0Exemple :<br \/>\n<a href=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture8.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture8.png\" alt=\"Capture\" width=\"669\" height=\"100\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture13.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture13.png\" alt=\"Capture1\" width=\"395\" height=\"359\" \/><\/a><\/p>\n<p><span style=\"color: #800080;\"><strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/strong><\/span><\/p>\n<p><strong><span style=\"color: #800080;\">4 &#8211; Les d\u00e9clencheurs ou triggers :<\/span><\/strong><\/p>\n<p><span style=\"color: #800080;\"><strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/strong><\/span><\/p>\n<p>Les triggers permettent d&#8217;effectuer certaines actions ou commandes lors\u00a0<span style=\"text-decoration: underline;\">d\u2019\u00e9v\u00e8nements\u00a0<\/span>particulier.(INSERT UPDATE ou DELETE)<\/p>\n<p>?\u00a0Voici un exemple :<\/p>\n<p><a href=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture6.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1045\" src=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture6.png\" alt=\"Capture\" width=\"400\" height=\"162\" srcset=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture6.png 400w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture6-300x121.png 300w\" sizes=\"auto, (max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture7.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1048\" src=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture7.png\" alt=\"Capture\" width=\"528\" height=\"217\" srcset=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture7.png 528w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture7-300x123.png 300w\" sizes=\"auto, (max-width: 528px) 100vw, 528px\" \/><\/a><\/p>\n<p><strong style=\"color: #800080; line-height: 1.714285714; font-size: 1rem;\">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/strong><\/p>\n<p><span style=\"color: #800080;\"><strong>5 &#8211; Le planificateur d&#8217;\u00e9v\u00e9nements (Mysql 5.1)<\/strong><\/span><\/p>\n<p><span style=\"color: #800080;\"><strong>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<\/strong><\/span><\/p>\n<p>Il est l&#8217;\u00e9quivalent de CRON sous Linux. il permet d&#8217;\u00e9x\u00e9cuter des programmes stock\u00e9s selon un calendrier.<\/p>\n<p><em>Voici un exemple simple pour comprendre comment MySQL g\u00e8re son planificateur de t\u00e2ches &#8230;<\/em><\/p>\n<p><a style=\"line-height: 1.714285714; font-size: 1rem;\" href=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture20.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1256\" src=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture20.png\" alt=\"Capture\" width=\"866\" height=\"408\" srcset=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture20.png 866w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture20-300x141.png 300w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture20-624x293.png 624w\" sizes=\"auto, (max-width: 866px) 100vw, 866px\" \/><\/a><\/p>\n<p><em>Et voici le r\u00e9sultat stock\u00e9 toutes minutes dans la table horloge &#8230;<\/em><\/p>\n<p><a href=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture110.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1257\" src=\"https:\/\/www.mb-creation-web.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture110.png\" alt=\"Capture1\" width=\"385\" height=\"191\" srcset=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture110.png 385w, https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2012\/10\/Capture110-300x148.png 300w\" sizes=\"auto, (max-width: 385px) 100vw, 385px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Voil\u00e0 pour ce tutoriel, @ bient\u00f4t sur le portail &#8230;<\/p>\n<p><em>Michel BOCCIOLESI<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I\u25baDans ce tutoriel, nous allons aborder les d\u00e9finitions d&#8217;outils stock\u00e9s dans Mysql .. Les ROUTINES ( proc\u00e9dures stock\u00e9es ou fonctions ) Les routines sont des programmes stock\u00e9s dans &#8230;<\/p>\n","protected":false},"author":1,"featured_media":1547,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37,5,39],"tags":[25],"class_list":["post-187","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mariadb","category-mysql","category-tutoriels","tag-routines-triggers-vues"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Les outils MySQL : ROUTINES - FONCTIONS - VUES - TRIGGERS - Tutoriels et Cours<\/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:\/\/bocciolesi.fr\/tutoriels-et-cours\/les-routines-mysql\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Les outils MySQL : ROUTINES - FONCTIONS - VUES - TRIGGERS - Tutoriels et Cours\" \/>\n<meta property=\"og:description\" content=\"I\u25baDans ce tutoriel, nous allons aborder les d\u00e9finitions d&#8217;outils stock\u00e9s dans Mysql .. Les ROUTINES ( proc\u00e9dures stock\u00e9es ou fonctions ) Les routines sont des programmes stock\u00e9s dans ...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/les-routines-mysql\/\" \/>\n<meta property=\"og:site_name\" content=\"Tutoriels et Cours\" \/>\n<meta property=\"article:published_time\" content=\"2012-10-06T12:39:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2017-02-24T13:16:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"424\" \/>\n\t<meta property=\"og:image:height\" content=\"283\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Michel BOCCIOLESI\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Michel BOCCIOLESI\" \/>\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\":\"WebPage\",\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/les-routines-mysql\/\",\"url\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/les-routines-mysql\/\",\"name\":\"Les outils MySQL : ROUTINES - FONCTIONS - VUES - TRIGGERS - Tutoriels et Cours\",\"isPartOf\":{\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/les-routines-mysql\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/les-routines-mysql\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg\",\"datePublished\":\"2012-10-06T12:39:41+00:00\",\"dateModified\":\"2017-02-24T13:16:56+00:00\",\"author\":{\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#\/schema\/person\/6bdfe0a1263b803645c69e3d5748dabe\"},\"breadcrumb\":{\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/les-routines-mysql\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/les-routines-mysql\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/les-routines-mysql\/#primaryimage\",\"url\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg\",\"contentUrl\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg\",\"width\":424,\"height\":283,\"caption\":\"Cours et tutoriels MySQL et Maria DB\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/les-routines-mysql\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Les outils MySQL : ROUTINES &#8211; FONCTIONS &#8211; VUES &#8211; TRIGGERS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#website\",\"url\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/\",\"name\":\"Tutoriels et Cours\",\"description\":\"Michel Bocciolesi | Formateur Consultant en Informatique\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#\/schema\/person\/6bdfe0a1263b803645c69e3d5748dabe\",\"name\":\"Michel BOCCIOLESI\",\"description\":\"Michel Bocciolesi est consultant et formateur sp\u00e9cialis\u00e9 en Informatique.\",\"sameAs\":[\"https:\/\/www.mb-creation-web.fr\"],\"url\":\"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/author\/michel\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Les outils MySQL : ROUTINES - FONCTIONS - VUES - TRIGGERS - Tutoriels et Cours","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:\/\/bocciolesi.fr\/tutoriels-et-cours\/les-routines-mysql\/","og_locale":"fr_FR","og_type":"article","og_title":"Les outils MySQL : ROUTINES - FONCTIONS - VUES - TRIGGERS - Tutoriels et Cours","og_description":"I\u25baDans ce tutoriel, nous allons aborder les d\u00e9finitions d&#8217;outils stock\u00e9s dans Mysql .. Les ROUTINES ( proc\u00e9dures stock\u00e9es ou fonctions ) Les routines sont des programmes stock\u00e9s dans ...","og_url":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/les-routines-mysql\/","og_site_name":"Tutoriels et Cours","article_published_time":"2012-10-06T12:39:41+00:00","article_modified_time":"2017-02-24T13:16:56+00:00","og_image":[{"width":424,"height":283,"url":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg","type":"image\/jpeg"}],"author":"Michel BOCCIOLESI","twitter_misc":{"\u00c9crit par":"Michel BOCCIOLESI","Dur\u00e9e de lecture estim\u00e9e":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/les-routines-mysql\/","url":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/les-routines-mysql\/","name":"Les outils MySQL : ROUTINES - FONCTIONS - VUES - TRIGGERS - Tutoriels et Cours","isPartOf":{"@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#website"},"primaryImageOfPage":{"@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/les-routines-mysql\/#primaryimage"},"image":{"@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/les-routines-mysql\/#primaryimage"},"thumbnailUrl":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg","datePublished":"2012-10-06T12:39:41+00:00","dateModified":"2017-02-24T13:16:56+00:00","author":{"@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#\/schema\/person\/6bdfe0a1263b803645c69e3d5748dabe"},"breadcrumb":{"@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/les-routines-mysql\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/bocciolesi.fr\/tutoriels-et-cours\/les-routines-mysql\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/les-routines-mysql\/#primaryimage","url":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg","contentUrl":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-content\/uploads\/2013\/08\/bases-de-donnees.jpg","width":424,"height":283,"caption":"Cours et tutoriels MySQL et Maria DB"},{"@type":"BreadcrumbList","@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/les-routines-mysql\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/"},{"@type":"ListItem","position":2,"name":"Les outils MySQL : ROUTINES &#8211; FONCTIONS &#8211; VUES &#8211; TRIGGERS"}]},{"@type":"WebSite","@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#website","url":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/","name":"Tutoriels et Cours","description":"Michel Bocciolesi | Formateur Consultant en Informatique","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/#\/schema\/person\/6bdfe0a1263b803645c69e3d5748dabe","name":"Michel BOCCIOLESI","description":"Michel Bocciolesi est consultant et formateur sp\u00e9cialis\u00e9 en Informatique.","sameAs":["https:\/\/www.mb-creation-web.fr"],"url":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/author\/michel\/"}]}},"_links":{"self":[{"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/posts\/187","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/comments?post=187"}],"version-history":[{"count":44,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/posts\/187\/revisions"}],"predecessor-version":[{"id":1629,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/posts\/187\/revisions\/1629"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/media\/1547"}],"wp:attachment":[{"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/media?parent=187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/categories?post=187"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bocciolesi.fr\/tutoriels-et-cours\/wp-json\/wp\/v2\/tags?post=187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}