Hello,

Me revoilà avec encore sûrement une erreur à la con... (que je trouverai probablement 2 min après avoir valider ce message)

J'ai la procédure suivante :
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 PROCEDURE [dbo].[UP_DOSSIER_INSERT]
    @CLI_ID INT,
    @CTC_ID INT,
    @TDS_ID SMALLINT,
    @ADR_LIVRAISON INT,
    @ADR_FACTURATION INT,
    @DCM_TEXT VARCHAR(256),
    @DOS_ID INT OUTPUT
AS
BEGIN
    SET NOCOUNT ON;
 
    INSERT INTO DBO.V_DOSSIER_VDS (CLI_ID, CTC_ID, TDS_ID, DOS_DATE, ADR_LIVRAISON, ADR_FACTURATION, DCM_TEXT)
    VALUES(@CLI_ID, @CTC_ID, @TDS_ID, GETDATE(), @ADR_LIVRAISON, @ADR_FACTURATION, @DCM_TEXT);
 
    SET @DOS_ID = SCOPE_IDENTITY();
 
END
Tout simple donc... Juste une insertion dans une vue avec trigger instead of insert car elle porte sur 3 tables différentes mais une seule avec une colonne avec un id auto incrémenté (identity).

Mais le paramètre @DOS_ID reste invariablement NULL... Je n'arrive pas à voir ce qui cloche... Serait-ce possible que ce soit à cause de la vue ? C'est la seule procédure où je fais un SCOPE_IDENTITY après une insertion sur une vue et c'est la seule où ça ne fonctionne pas...

Bref... Un indice please ?