Paramètre en OUTPUT qui ne contient aucune valeur
Hello,
Me revoilà avec encore sûrement une erreur à la con... (que je trouverai probablement 2 min après avoir valider ce message:aie:)
J'ai la procédure suivante :
Code:
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 ?