Procedure Insert du dernier ID [Résolu]

Signaler
Messages postés
13
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
9 juin 2008
-
Messages postés
13
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
9 juin 2008
-
Bonjour,
Je veux recupérer le dernier ID lors du dernier insert avec Select @@IDENTITY.
Voici la procedure :
ALTER PROCEDURE sp_insertbug_IHM_Bug

    @Assignation nvarchar(50),
    @Priorité int,
    @Sujet nvarchar(100),
    @Détail nvarchar(max),
    @NotifyList nvarchar(max),

AS
BEGIN
    SET NOCOUNT ON;

    INSERT INTO IHM_BugTrack_Detail
                (Sujet,Détail,D_Enregistrement,NotifyList)
    VALUES        (@Sujet,@Détail,Getdate(),@NotifyList);

SELECT @@IDENTITY as ID

    INSERT INTO IHM_BugTrack
               (Assignation, Status, Priorité,ID_Detail,ID_Appli)
    VALUES     (@Assignation,'Ouvert',@Priorité,ID,9);

Le Message d'erreur : Le nom "ID" n'est pas autorisé dans ce contexte.
Les expressions valides sont des constantes, des expressions constantes et (dans certains contextes) des variables.
Les noms de colonnes ne sont pas autorisés.

Je comprends bien mais comment alros passer cette valeur à mon deuxieme INSERT INTO?

3 réponses

Messages postés
13
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
9 juin 2008
1
Par contre en suivant tes conseils ...

DECLARE @id INT;
SET @id = SCOPE_IDENTITY()

marche trés bien. merci
Messages postés
39
Date d'inscription
samedi 31 janvier 2004
Statut
Membre
Dernière intervention
22 mai 2008

Moi je verrais plus un truc comme ça, une variable sans @, il aime pas trop sql server...

BEGIN
    SET NOCOUNT ON;

    INSERT INTO IHM_BugTrack_Detail
                (Sujet,Détail,D_Enregistrement,NotifyList)
    VALUES        (@Sujet,@Détail,Getdate(),@NotifyList);

DECLARE @id int
SET @id = SELECT @@IDENTITY

    INSERT INTO IHM_BugTrack
               (Assignation, Status, Priorité,ID_Detail,ID_Appli)
    VALUES     (@Assignation,'Ouvert',@Priorité,@id,9);

J'ai pas testé et je sais pas si la syntaxe est la bonne pour ce que je te propose, mais c'est dans ce genre la. Déclaration de vairable puis assignation d'une valeur.

Steph
Messages postés
13
Date d'inscription
mercredi 17 octobre 2007
Statut
Membre
Dernière intervention
9 juin 2008
1
Non, j'obtiens : Syntaxe incorrecte vers le mot clé 'SELECT'.