INSERT sur plusieurs tables
je cherche à insérer des valeurs à l'aide d'une procédure stockée dans deux tables "Nom_Organismes" et "Adr_Organismes" jointes par une FK et je n'y arrive pas.
j'ai essayé diverses choses mais je me heurte au fait que je n'arrive pas à passer la clé primaire de la première à la seconde. Je précise que la génération de ladite clé "IDnom_Organismes" est laissée à l'initiative du SGBDR.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
CREATE TABLE [dbo].[Nom_Organismes] (
[IDnom_Organismes] [int] IDENTITY (1, 1) NOT NULL ,
[Nom] [varchar] (100) COLLATE French_CI_AS NOT NULL ,
[Sigle] [varchar] (20) COLLATE French_CI_AS NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Adr_Organismes] (
[IDAdr_Organismes] [int] IDENTITY (1, 1) NOT NULL ,
[IDnom_Organismes] [int] NOT NULL ,
[Adresse] [varchar] (255) COLLATE French_CI_AS NOT NULL ,
[Cp] [char] (5) COLLATE French_CI_AS NOT NULL ,
[Ville] [varchar] (30) COLLATE French_CI_AS NOT NULL ,
[Tel] [varchar] (14) COLLATE French_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO |
Ma procédure :
Code:
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 26 27
|
CREATE PROCEDURE dbo.Organisme_Insert
(
@Sigle char(20),
@Nom char(100),
@Adresse char(255),
@CP char(5),
@Ville char(30),
@Tel char(14)
)
AS
BEGIN
INSERT INTO Nom_Organismes
(Sigle, Nom)
VALUES (@Sigle, @Nom)
SELECT IDnom_Organismes FROM Nom_Organismes WHERE Nom_Organismes.Nom = @Nom
INSERT INTO Adr_Organismes
(IDnom_Organismes, Adresse, Cp, Ville, Tel)
VALUES Nom_Organismes.IDnom_Organismes, @Adresse, @CP, @Ville, @Tel)
END
GO |
Bien évidemment il me sort une erreur car l'usage de IDnom_Organismes n'est pas autorisédans ce contexte.
Quelqu'un peut-il m'aider ?