Maison >base de données >tutoriel mysql >Comment rechercher et créer des tables SQL Server 2008 si elles n'existent pas ?

Comment rechercher et créer des tables SQL Server 2008 si elles n'existent pas ?

DDD
DDDoriginal
2024-12-25 05:27:09850parcourir

How to Check for and Create SQL Server 2008 Tables if They Don't Exist?

Détermination de l'existence et de la création d'une table dans SQL Server 2008

Dans SQL Server 2008, une exigence courante est la possibilité de vérifier si une table existe dans une base de données et, sinon, créez-le à la volée. Ceci est particulièrement utile dans les routines de manipulation de données ou les scénarios impliquant la création de tables dynamiques.

Vérification de l'existence d'une table

Pour vérifier si une table existe dans une base de données, utilisez la syntaxe suivante :

IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[TableName]') AND type in (N'U'))

Ici, nous interrogeons la table système sys.objects pour déterminer si un objet avec le nom et le type spécifiés (dans ce cas, un table) existe dans le schéma dbo. Si la requête ne renvoie aucune ligne, la table n'existe pas.

Créer une table si elle n'existe pas

Pour créer une table si elle n'existe pas, utilisez l'instruction CREATE TABLE. Par exemple :

CREATE TABLE [dbo].[TableName](
    ....
    ....
    ....
)

Combinaison des vérifications

Vous pouvez combiner la vérification de l'existence et la création de la table en une seule instruction à l'aide d'une instruction conditionnelle comme suit :

IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[TableName]') AND type in (N'U'))
BEGIN
    CREATE TABLE [dbo].[TableName](
        ....
        ....
        ....
    ) 
END

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn