[SQL Server 2005] [Procédure stockée] Paramètre uniqueidentifier toujours Null ?
Bonjour,
je sèche sur un problème qui commence à m'énerver...
J'ai une procédure stockée comme ci-dessous :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| CREATE PROCEDURE [dbo].[save_or_update_row]
(
@id_row uniqueidentifier output,
@field1 int,
@field2 nvarchar(100),
@field3_date datetime = null,
@email nvarchar(100) = null
)
AS
BEGIN
IF @id_row is not null
BEGIN
PRINT 'THIS IS AN UPDATE'
-- ...
-- ...
END
ELSE
BEGIN
PRINT 'THIS IS AN INSERT'
-- ...
-- ...
END
END |
Quand je la teste, le paramètre @id_row est toujours null dans la procédure stockée.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| DECLARE @id_row_value uniqueidentifier
SELECT @id_row_value = Convert(uniqueidentifier,'342850fc-ada0-46b0-b55b-e5b3d21646e1')
IF @id_row_value is not null
BEGIN
PRINT 'EXIST'
END
ELSE
BEGIN
PRINT 'NOT EXIST'
END
EXEC @return_value = [dbo].[save_or_update_row]
@id_row =@id_row_value OUTPUT,
@field1 = 15,
@field2 = ' test only',
@field3_date = null,
@email = null |
Le résultat de ce test est :
Code:
1 2
| EXIST
THIS IS AN INSERT |
Donc je passe toujours dans le cas ou @id_row est null dans la procédure stockée et je ne comprends pas... c'est le OUTPUT qui me pose problème ?
Merci beaucoup déjà d'avoir lu mon problème... si quelqu'un a une idée de la solution... je suis preneur :)