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

Langage SQL Discussion :

Insertion multilignes et incrémentation relative des clefs


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de lucienkany
    Profil pro
    Développeur
    Inscrit en
    Janvier 2004
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Janvier 2004
    Messages : 257
    Par défaut Insertion multilignes et incrémentation relative des clefs
    J'ai consulté l'article ci-dessous de SQLpro.

    https://blog.developpez.com/sqlpro/p...gnes_a_increma

    qui se rapproche de mon mon problème.

    J'ai trois tables.

    La table LABO

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    CREATE TABLE [dbo].[LABO](
    	[IDLABO] [int] IDENTITY(1,1) NOT NULL,
    	[LABO_CODE] [char](3) NULL,
    	[LABO_NAME] [nvarchar](50) NULL,
     CONSTRAINT [PK_LABO] PRIMARY KEY CLUSTERED 
    (
    	[IDLABO] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
     
    GO
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    INSERT INTO [dbo].[LABO] ([LABO_CODE],[LABO_NAME])
         VALUES ('LKS' ,'LIKASI'),('KLZ' ,'KOLWEZI'),('LHI' ,'LUBUMBASHI')
    La table RECEPTION

    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
    CREATE TABLE [dbo].[RECEPTION](
    	[ID] [int] IDENTITY(1,1) NOT NULL,
    	[DATE_REC] [datetime] NOT NULL,
    	[IDLABO] [int] NULL,
     CONSTRAINT [PK_RECEPTION] PRIMARY KEY CLUSTERED 
    (
    	[ID] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
     
    GO
     
    ALTER TABLE [dbo].[RECEPTION]  WITH CHECK ADD  CONSTRAINT [FK_RECEPTION_LABO] FOREIGN KEY([IDLABO])
    REFERENCES [dbo].[LABO] ([IDLABO])
    GO
     
    ALTER TABLE [dbo].[RECEPTION] CHECK CONSTRAINT [FK_RECEPTION_LABO]
    GO
    et la table échantillon

    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
    CREATE TABLE [dbo].[ECHANTILLON](
    	[ID] [int] IDENTITY(1,1) NOT NULL,
    	[IDRECEPTION] [int] NULL,
    	[NUMLABO] [nvarchar](50) NULL,
    	[POIDS_ECHANTILLON] [float] NULL,
     CONSTRAINT [PK_EHCANTILLON] PRIMARY KEY CLUSTERED 
    (
    	[ID] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
     
    GO
     
    ALTER TABLE [dbo].[ECHANTILLON]  WITH CHECK ADD  CONSTRAINT [FK_ECHANTILLON_RECEPTION] FOREIGN KEY([IDRECEPTION])
    REFERENCES [dbo].[RECEPTION] ([ID])
    GO
     
    ALTER TABLE [dbo].[ECHANTILLON] CHECK CONSTRAINT [FK_ECHANTILLON_RECEPTION]
    GO
    Je souhaite attribuer des numéros (NUMLABO) formatés à chaque échantillon inséré avec un formulaire (master [RECEPTION]-détails [ECHANTILLON]) sachant que:
    1. le format des numéros est LKS-2017000001 (LKS-2017000001 sera le premier échantillon de l'année 2017 pour le labo dont le code est LKS avec le -)
    2. La rupture s'effectue sur le code labo et l'année (KLZ-2017000001 sera la premier du labo KLZ pour 2017 et LKZ-2018000001 pour 2018)
    3.L'année à considérer dans le numéro vient du CHAMPS [DATE_REC] de la table RECEPTION.

    D'avance merci.
    Images attachées Images attachées

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Bonjour,

    Vous pouvez, a partir de l'article que vous mentionner, valuer une colonne avec uniquement le numéro d'ordre.
    Ensuite, dans une vue (ou une colonne calculée), vous reconstruisez la NUMLABO à partir du code labo, de l'année, et du numéro d'ordre complété par des '0'.

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

Discussions similaires

  1. [CR 9] Insertion d'image et poids des états
    Par cdu dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 19/02/2021, 11h46
  2. avoir des clef uniques
    Par car dans le forum ASP
    Réponses: 23
    Dernier message: 04/08/2005, 16h01
  3. [SGBDR] Gestion des clefs
    Par vsavoir dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 24/07/2005, 17h25
  4. Réponses: 3
    Dernier message: 10/07/2005, 17h37
  5. Variante de TUpDown avec incrément réel
    Par Bernard Grosdoy dans le forum Composants VCL
    Réponses: 6
    Dernier message: 20/10/2004, 16h40

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