begin process at 2008 07 06 03:14:02
1 205 441 membres
21 nouveaux aujourd'hui
14 119 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Procedure Insert du dernier ID [ SQL Server, MSDE, SQL Express / Procédures Stockées ] (ecureuilmasque)

Procedure Insert du dernier ID le 14/12/2007 17:42:19

ecureuilmasque
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?


Re : Procedure Insert du dernier ID le 14/12/2007 18:23:58

gilletcsteph
Membre Club
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

Re : Procedure Insert du dernier ID le 14/12/2007 20:15:13

ecureuilmasque
Non, j'obtiens : Syntaxe incorrecte vers le mot clé 'SELECT'.

Re : Procedure Insert du dernier ID le 14/12/2007 20:47:06

ecureuilmasque
Réponse acceptée !
Par contre en suivant tes conseils ...

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

marche trés bien. merci


Classé sous : insert, id, procedure, dernier, nvarchar

Participer à cet échange

Pub



Appels d'offres

Plugin Dialer outlook
Budget : 2 000€
Travail graphique- ill...
Budget : 1 000€
creation de marque et ...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS