Bonjour à tous,

J'essaie vainement de créer une procédure transac SQL et je suis super débutant...

Voilà à quoi ça ressemble

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
19
20
21
22
23
24
25
26
27
28
29
30
-- ================================================
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters 
-- command (Ctrl-Shift-M) to fill in the parameter 
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[csp_CreateTest2] @Fam nvarchar
-- Add the parameters for the stored procedure here
AS
set nocount on
DECLARE @Fam3204 numeric
select @Fam3204 = dataid from filedata where lang_00 = @Fam and descid = 3204
insert into temp_test (tt) values(cast(@Fam3204 as varchar))
set nocount off
GO
alors, si je fait la requête select manuellement sur la table filedata et que je fixe le paramètre @Fam à une valeur 'TOTO', j'ai bien une réponse numérique (1542)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
select dataid from filedata where lang_00='TOTO' and descid = 3204
me renvoie 1542

la table temp_test a un champ unique TT de type varchar

si j'exécute la procédure en mettant en paramètre d'entrée TOTO, la table TEMP_TEST a bien un nouvel enregistrement mais il a pour valeur NULL...

Merci de m'avoir lu