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 :
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).
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
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 ?
Partager