{"id":9111,"date":"2022-07-28T06:46:00","date_gmt":"2022-07-28T04:46:00","guid":{"rendered":"https:\/\/expert-only.com\/?p=9111"},"modified":"2022-08-04T12:13:45","modified_gmt":"2022-08-04T10:13:45","slug":"option-ssms-verifier-objet-existe","status":"publish","type":"post","link":"https:\/\/expert-only.com\/fr\/ssms\/option-ssms-verifier-objet-existe\/","title":{"rendered":"Option SSMS pour v\u00e9rifier si un objet existe"},"content":{"rendered":"\n<p>Comment ajouter ou supprimer l&rsquo;option pour v\u00e9rifier si un objet existe depuis SQL Server Management Studio (SSMS) ? Pour ajouter dynamiquement le contr\u00f4le d&rsquo;existence avant de g\u00e9n\u00e9rer l&rsquo;instruction pour cr\u00e9er les objets SQL comme les tables, les vues, les fonctions ou les proc\u00e9dures stock\u00e9es, c&rsquo;est simple. Il suffit d&rsquo;activer l&rsquo;option SSMS pour v\u00e9rifier l&rsquo;existence des objets dans votre logiciel SQL Server Management Studio.<\/p>\n\n\n\n<p>Par exemple, lorsque vous d\u00e9veloppez des proc\u00e9dures stock\u00e9es SQL Server, vous devez d&rsquo;abord v\u00e9rifier leur existence, pour \u00e9viter ces messages d&rsquo;erreur. C&rsquo;est tr\u00e8s utile lorsque vous devez modifier de grosses proc\u00e9dures stock\u00e9es et les d\u00e9ployer plusieurs fois sur le serveur \u00e0 des fins de tests.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-options-pour-ajouter-un-script-pour-verifier-si-l-objet-existe-dans-sql-server-management-studio-ssms\">Options pour ajouter un script pour v\u00e9rifier si l&rsquo;objet existe dans SQL Server Management Studio (SSMS)<\/h2>\n\n\n\n<p>Pour une table, une vue, une proc\u00e9dure stock\u00e9e ou une fonction, le message d&rsquo;erreur est similaire :<\/p>\n\n\n\n<p><em><strong>Msg 2714, Level 16, State 6, Line 1<br>Il existe d\u00e9j\u00e0 un objet nomm\u00e9 &lsquo;Your-Table&rsquo; dans la base de donn\u00e9es.<\/strong><\/em><\/p>\n\n\n\n<p>Pour cela, il suffit d&rsquo;activer cette option de SSMS pour v\u00e9rifier l&rsquo;existence de l&rsquo;objet :<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Dans le menu sup\u00e9rieur gauche, cliquer sur \u00ab\u00a0<strong>Outils &gt; Options<\/strong>\u00ab\u00a0.<\/li><li>Dans la section \u00ab\u00a0<strong>SQL Server Object Explorer<\/strong>\u00ab\u00a0, choisir \u00ab\u00a0<strong>Scripting<\/strong>\u00ab\u00a0.<\/li><li>Ensuite, r\u00e9gler l&rsquo;option \u00ab\u00a0<strong>Check for object existence<\/strong>\u00a0\u00bb sur \u00ab\u00a0<strong>True<\/strong>\u00ab\u00a0.<\/li><\/ol>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"780\" height=\"496\" src=\"https:\/\/expert-only.com\/wp-content\/uploads\/2022\/07\/ssms-option-to-add-check-if-object-exist-1.jpg\" alt=\"Option SSMS pour v\u00e9rifier si un objet existe (Check for object existence)\" class=\"wp-image-9121\" srcset=\"https:\/\/expert-only.com\/wp-content\/uploads\/2022\/07\/ssms-option-to-add-check-if-object-exist-1.jpg 780w, https:\/\/expert-only.com\/wp-content\/uploads\/2022\/07\/ssms-option-to-add-check-if-object-exist-1-300x191.jpg 300w, https:\/\/expert-only.com\/wp-content\/uploads\/2022\/07\/ssms-option-to-add-check-if-object-exist-1-768x488.jpg 768w\" sizes=\"auto, (max-width: 780px) 100vw, 780px\" \/><figcaption><strong>Option SSMS pour v\u00e9rifier si un objet existe (Check for object existence)<\/strong><\/figcaption><\/figure>\n<\/div>\n\n\n<p>Il s&rsquo;agit alors d&rsquo;ajouter ce contr\u00f4le d&rsquo;existence avant la cr\u00e9ation du code de votre proc\u00e9dure. Pour g\u00e9n\u00e9rer le code, faites un clic droit sur n&rsquo;importe quel objet, par exemple, une proc\u00e9dure stock\u00e9e et s\u00e9lectionner l&rsquo;option CREATE TO puis nouvelle fen\u00eatre d&rsquo;\u00e9diteur SSMS.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"mssql\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">IF NOT EXISTS (\n     SELECT * FROM sys.objects \n     WHERE object_id = OBJECT_ID(N'[dbo].[YourStoredProcedure]') \n          AND type in (N'P', N'PC'))\nBEGIN\nEXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[YourStoredProcedure] AS SELECT 1 as [One]' \nEND\nGO\n\nALTER PROCEDURE [dbo].YourStoredProcedure \nAS \nBEGIN\nSELECT GETDATE() as [CurrentDate]\nEND \nGO<\/pre>\n\n\n\n<p>Note : Dans le cas o\u00f9 l&rsquo;objet n&rsquo;existe pas, il s&rsquo;agit simplement de cr\u00e9er une proc\u00e9dure stock\u00e9e vide. En effet, et en utilisant simplement une instruction alter sur le m\u00eame objet, afin de limiter la longueur du <a href=\"https:\/\/dictionnaire.reverso.net\/francais-definition\/script\" target=\"_blank\" rel=\"noreferrer noopener\">script<\/a>.<\/p>\n\n\n\n<p>Il est tr\u00e8s utile d&rsquo;utiliser des scripts sans erreur pour une proc\u00e9dure stock\u00e9e. Par exemple parce qu&rsquo;il n&rsquo;est pas n\u00e9cessaire de manipuler un contenu de donn\u00e9es ou une structure de donn\u00e9es, comme pour les tables par exemple.<\/p>\n\n\n\n<p>En effet, pour les tables et surtout les donn\u00e9es sensibles ou critiques, il est obligatoire de g\u00e9rer un script de migration, de g\u00e9n\u00e9rer et de sauvegarder le contenu, avant de <strong><a href=\"https:\/\/expert-only.com\/transact-sql\/supprimer-table-sql-server\/\">supprimer et cr\u00e9er une nouvelle table SQL<\/a><\/strong>.<\/p>\n\n\n\n<p>C&rsquo;est donc une bonne pratique pour les projets SQL que de v\u00e9rifier si l&rsquo;objet existe dans la base de donn\u00e9es SQL. G\u00e9n\u00e9rez donc les scripts avec SSMS ou manuellement et utilisez-les. Dans certains cas, il est utile d&rsquo;arr\u00eater le script si la table existe d\u00e9j\u00e0 pour \u00e9viter de supprimer une table par erreur.<\/p>\n\n\n\n<p>Cette section du blog est consacr\u00e9e aux erreurs SQL Server courantes, comme le <strong><a href=\"https:\/\/expert-only.com\/erreur-sql-server\/erreur-de-depassement-arithmetique-lors-de-la-conversion\/\">l&rsquo;erreur de d\u00e9passement arithm\u00e9tique lors de la conversion par exemple<\/a><\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-tutoriels-sql-et-it wp-block-embed-tutoriels-sql-et-it\"><div class=\"wp-block-embed__wrapper\">\nhttps:\/\/expert-only.com\/erreur-sql-server\/erreur-de-depassement-arithmetique-lors-de-la-conversion\/\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>Comment ajouter ou supprimer l&rsquo;option pour v\u00e9rifier si un objet existe depuis SQL Server Management Studio (SSMS) ? Pour ajouter dynamiquement le contr\u00f4le d&rsquo;existence avant de g\u00e9n\u00e9rer l&rsquo;instruction pour cr\u00e9er les objets SQL comme les tables, les vues, les <a class=\"mh-excerpt-more\" href=\"https:\/\/expert-only.com\/fr\/ssms\/option-ssms-verifier-objet-existe\/\" title=\"Option SSMS pour v\u00e9rifier si un objet existe\">&#8230;<\/a><\/p>\n<\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":{"0":"post-9111","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ssms"},"_links":{"self":[{"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/posts\/9111","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/comments?post=9111"}],"version-history":[{"count":0,"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/posts\/9111\/revisions"}],"wp:attachment":[{"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/media?parent=9111"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/categories?post=9111"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/expert-only.com\/fr\/wp-json\/wp\/v2\/tags?post=9111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}