Procédure stockée, transact SQL et param de type INT
Bonjour, -code en bas de post-
1/ Pb pour l'ajout d'un paramètre de type int dans une phrase SQL
contenue dans une sp_
Au lieu de me faire une concaténation de chaine, il me fait une
addition.
Err :
[FONT=Arial][/FONT] [FONT=Arial]Microsoft OLE DB Provider for SQL Server[/FONT] [FONT=Arial]error '80040e07'[/FONT]
[FONT=Arial]Erreur de syntaxe lors de la conversion de la valeur nvarchar 'INSERT INTO [TP_TypeUsers] (Intitule, UID) VALUES ('TEST' , ' vers une colonne de type de données int.
[/FONT]
[FONT=Arial]
2/ Concernant la gestion des erreurs, est-ce correct ?
[/FONT]
[FONT=Arial]
Merci de votre Aide.
PS : Suis-je un peu c*n, ou il n'y a plus le bouton "rechercher"
sur le forum ?
[/FONT]
[FONT=Arial]
Samish
[/FONT]
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 sp_PRM01_INSERT
@PrmTable nvarchar(50),
@PrmValue nvarchar(50),
@PrmUID int,
@PrmErr int OUTPUT
AS
DECLARE @SQL varchar(1200)
Set @SQL = 'INSERT INTO [' + @PrmTable + '] (Intitule, UID) VALUES (' + @PrmValue + ' , ' + @PrmUID + ' ) ;'
BEGIN TRANSACTION
EXEC (@SQL)
IF @@ERROR <>0
BEGIN
ROLLBACK TRANSACTION
SET @PrmErr=-1
RETURN
END
COMMIT TRANSACTION
SET @PrmErr=0
RETURN
GO |