IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

create table if not exists


Sujet :

MS SQL Server

  1. #1
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut create table if not exists
    Bonjour

    J'essaye la syntaxe

    create table if not exists matable as (select quelquechose)

    Mais SQL Server n'en veut pas, pourtant il me semble avoir fait cela plein de fois en mysql

    Quelle est la syntaxe en SQL Server ?

    Merci de votre aide

  2. #2
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 33
    Points : 38
    Points
    38
    Par défaut
    Bonjour,

    test plutôt :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    IF NOT EXISTS (select * from maTable)
       create table [dbo].[maTable] (...)

  3. #3
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Merci

    J'ai essayé ceci mais c'est toujours une erreur de syntaxe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    IF NOT EXISTS 
    (SELECT  
       IpodMediaDef.MediaDef,
       IpodMediaDef.Image,
       MediaDef.HRK
     FROM 
       IpodMediaDef 
       INNER JOIN MediaDef ON IpodMediaDef.MediaDef = MediaDef.ID)
                          create table [dbo].[ImagesRef]

  4. #4
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Bonjour,

    Que voulez vous faire exactement ?
    Expliquez votre démarche

    ++

  5. #5
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Meme un create table tout simple ne marche pas
    Ou est l'erreur ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE TABLE ImagesRef
    ( SELECT  
       IpodMediaDef.MediaDef,
       IpodMediaDef.Image,
       MediaDef.HRK
     FROM 
       IpodMediaDef 
       INNER JOIN MediaDef ON IpodMediaDef.MediaDef = MediaDef.ID);
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE TABLE ImagesRef as
    ( SELECT  
       IpodMediaDef.MediaDef,
       IpodMediaDef.Image,
       MediaDef.HRK
     FROM 
       IpodMediaDef 
       INNER JOIN MediaDef ON IpodMediaDef.MediaDef = MediaDef.ID);

  6. #6
    Nouveau membre du Club
    Inscrit en
    Février 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 33
    Points : 38
    Points
    38
    Par défaut
    question bête mais sûrement utile :

    Etes-vous sur la bonne base de donnée, car moi ça m'arrive d'exécuter et que ça ne marche pas car je suis sur la base master

  7. #7
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    C'est normal .. vous ne respectez pas la syntaxe qu'il faut pour créer une table à la volée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT  
     IpodMediaDef.MediaDef,
     IpodMediaDef.Image,
     MediaDef.HRK
    INTO ImagesRef 
    FROM IpodMediaDef 
    INNER JOIN MediaDef 
    ON IpodMediaDef.MediaDef = MediaDef.ID;
    Quelle est votre erreur pour la requête avec l'instruction IF EXISTS ... ?

    ++

  8. #8
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    merci a marps et mikedavem

    La reponse est partagée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    use [touch-YR]
     SELECT  
       IpodMediaDef.MediaDef,
       IpodMediaDef.Image,
       MediaDef.HRK
     INTO ImagesRef
     FROM 
       IpodMediaDef 
       INNER JOIN MediaDef ON IpodMediaDef.MediaDef = MediaDef.ID;
    effectivement en forcant le use de la db ca marche mieux !!
    et je m'etais mélangé entre la syntaxe mysql et mssql

  9. #9
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Bonjour

    Sans vouloir abuser de votre patience a partir du moment ou la table est créée, comment puis-je adapter cette syntaxe pour faire des insert dans cette table a partir de query similaire mais sans creer des doublons

    La raison :

    Je voudrais normaliser une DB dans laquelle l'ancien designer avait ajouté par ci par la des champs image dans les tables,

    Je voudrais

  10. #10
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Merci !
    J'ai trouvé

Discussions similaires

  1. AS400 Probleme de Create table if not exists
    Par mczikas dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 24/02/2009, 17h04
  2. [XI R2] Table does not exist
    Par Julien59 dans le forum Designer
    Réponses: 1
    Dernier message: 25/09/2008, 16h27
  3. Create procedure if not exists ?
    Par mappy dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/07/2008, 17h57
  4. provider 0x80040E37 table does not exist
    Par steph04 dans le forum ASP
    Réponses: 8
    Dernier message: 29/04/2005, 10h56
  5. [DB2] create table... if not exists ?
    Par iubito dans le forum DB2
    Réponses: 6
    Dernier message: 23/03/2004, 18h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo