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

Sybase Discussion :

[PAMC] création de clé primaire auto incrémentée


Sujet :

Sybase

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 21
    Points : 13
    Points
    13
    Par défaut [PAMC] création de clé primaire auto incrémentée
    Voici mon probléme: j'aimerai generer des clés primaires auto incrémenté.
    Mais je ne sait absolument pas comment faire dans sybase. J'ai réussi a trouver une option auto_increment dans sybase mais il ne genére pas le bon code sql.
    Une solution bien evidemment est de modifier le script sql mais bon ce n'est pas propre et il doit surement y' avoir une solution dans sybase!

    create table UNITE
    (
    ID_UNITE int not null,
    UNITE varchar(20) not null,
    primary key (ID_UNITE)

    auto_increment = ID_UNITE;)

    Dans cette table par exemple je voudrai que le champ id_unite soit autoincrémenté mais comment faire?

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 48
    Points : 56
    Points
    56
    Par défaut
    Bonjour,
    Un post de avant-hier traite cette question sur le même forum.

    En complément, voici un autre exemple avec la possibilité IDENTITY
    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
     
    EXEC sp_addtype t_i_identity_12, "numeric(12)", "IDENTITY"
    EXEC sp_addtype t_i_fk_n, "numeric(12)", "NULL" 
    EXEC sp_addtype t_c_name_64, "varchar(64)", "NOT NULL"
    CREATE TABLE auth (
    pk t_i_identity_12 CONSTRAINT pk_auth PRIMARY KEY NONCLUSTERED,
    name t_c_name_64
    )
    CREATE TABLE book (
    pk t_i_identity_12 CONSTRAINT pk_book PRIMARY KEY NONCLUSTERED,
    fk_auth t_i_fk_n CONSTRAINT ri_book_auth REFERENCES auth,
    title t_c_name_64
    )
    DECLARE @fk_auth t_i_fk_n
    begin tran
    insert auth(name) values ("toto")
    SELECT @fk_auth = @@identity
    insert book(fk_auth,title) values (@fk_auth,"toto_book_1")
    insert book(fk_auth,title) values (@fk_auth,"toto_book_2")
    commit tran
    Et voici encore un exemple avec la possibilité new_id (compatible avec MS SQL Server)
    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
     
    EXEC sp_addtype t_c_newid, "char(36)", "NOT NULL"
     
    CREATE DEFAULT d_newid AS newid()
     
    EXEC sp_bindefault "d_newid", t_c_newid
     
    CREATE TABLE book (
    pk t_c_newid CONSTRAINT pk_book PRIMARY KEY,
    title varchar(64)
    )
    insert into book(title) values ("Le rouge et le noir")
    select * from book
    pk title 
    ------------------------------------ ---------------------------------------------------------------- 
    0a0dd4ec01f94bdabf23cd2b2fc7720d Le rouge et le noir

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    En fait j'utilise sybase power amc, je sais modifier le code sql pour creer la base mais je ne trouve pas l'option qui permet de résoudre ce probléme via l'interface de power amc.

  4. #4
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 224
    Points : 19 569
    Points
    19 569
    Billets dans le blog
    25
    Par défaut
    Sous PowerAMC, le type doit bien être au niveau du MCD, le type "Séquentiel" dont l'abréviation est NO.

    Ensuite, lors dela génération du MPD, il est modifié selon le type de SGBDR que vous utilisez:
    • pour ASA : integer default autoincrement
    • pour ASE : numeric identity
    la génération devrait alors se faire correctement

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Merci beaucoup ça marche!

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 72
    Points : 50
    Points
    50
    Par défaut
    Bonjour,

    mais une fois qu'on veut faire les insert on fait comment ?
    Merci

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

Discussions similaires

  1. création clé primaire auto incrémentable SQL ACCESS ?
    Par colorid dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 23/11/2007, 15h25
  2. [Sql server 2005] Clé primaire auto increment
    Par nemya dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 17/10/2006, 23h58
  3. Problèmes sur clé primaire : auto index
    Par ultracoxy dans le forum Requêtes
    Réponses: 12
    Dernier message: 20/06/2006, 18h43
  4. Création Clé primaire auto-incremente - Access 2000
    Par Didier100 dans le forum Bases de données
    Réponses: 3
    Dernier message: 19/10/2004, 20h30
  5. [VB.NET] [ADO.NET] Clef primaire auto incrémenté
    Par Guld dans le forum Accès aux données
    Réponses: 4
    Dernier message: 25/09/2004, 21h46

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