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

Développement SQL Server Discussion :

Syntaxe Identity autoincrément


Sujet :

Développement SQL Server

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 101
    Points : 88
    Points
    88
    Par défaut Syntaxe Identity autoincrément
    Bonjour,

    Je souhaite insérer dans une table un champs incrémenté automatiquement après chaque insertion.

    La syntaxe SQL ci-dessous est-elle la bonne?

    Voici le code SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    DECLARE @No_Etiquette INT 
    SET @No_Etiquette = 194279
     
    CREATE TABLE #new_test
    (
    	id_num int IDENTITY(@No_Etiquette,1),
    	fname varchar (20),
    	lname varchar(30)
    )
     
    INSERT INTO #new_test (fname,lname)
    VALUES
    (
    	'manu',
    	'test1'
    )
     
    INSERT INTO #new_test (fname,lname)
    VALUES
    (
    	'manu2',
    	'test2'
    )
     
    SELECT * from #new_test
    Errare Humanum Est ...

  2. #2
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Je suppose que vous avez testé et que cela ne fonctionne pas
    On ne peut pas passer de paramètre à une spécification de colonne auto-incrémentée.

    Quel est votre contexte et votre version de SQL Server ?

    @++

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 101
    Points : 88
    Points
    88
    Par défaut
    Citation Envoyé par elsuket Voir le message
    Bonjour,

    Je suppose que vous avez testé et que cela ne fonctionne pas
    On ne peut pas passer de paramètre à une spécification de colonne auto-incrémentée.

    Quel est votre contexte et votre version de SQL Server ?

    @++


    Bonjour,

    Vous avez raison, écrit comme je l'ai fait ça ne fonctionne pas .

    Mais en le faisant comme suit , ça fonctionne .

    Voici le code SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    DECLARE @No_Etiquette AS NVARCHAR(10)
     
    DECLARE @req AS NVARCHAR(200)
     
    DROP TABLE ##TT
     
    SET @No_Etiquette = N'194280'
     
    SET @req = N'SELECT    IDENTITY(int, ' + @No_Etiquette + ', 1) AS TEST INTO ##TT '
     
    SELECT @req
     
    EXECUTE sp_executesql @req
     
    SELECT * FROM ##TT
    Merci pour votre réponse .
    Errare Humanum Est ...

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 448
    Points : 1 234
    Points
    1 234
    Par défaut
    Vous ne préférez pas une écriture avec DBCC CHECKIDENT?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DBCC CHECKIDENT([MaTable], RESEED, @i)
    Most Valued Pas mvp

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2008
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 101
    Points : 88
    Points
    88
    Par défaut
    Citation Envoyé par Sergejack Voir le message
    Vous ne préférez pas une écriture avec DBCC CHECKIDENT?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    DBCC CHECKIDENT([MaTable], RESEED, @i)
    Je prends ...

    Merci ...
    Errare Humanum Est ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/07/2008, 19h09
  2. Syntaxe requete
    Par Chipolata dans le forum Langage SQL
    Réponses: 2
    Dernier message: 28/03/2003, 14h22
  3. [Syntaxe] Action simultanée sur plusieurs élements
    Par FranT dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/03/2003, 20h20
  4. Syntaxe TASM <-> MASM
    Par LFC dans le forum Assembleur
    Réponses: 3
    Dernier message: 28/02/2003, 15h56
  5. [VB6] [Syntaxe] Fonction renvoyant un tableau d'objets
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 18/10/2002, 15h33

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