Bonjour,

Je voudrais réaliser une procédure stockée dynamique dans le sens où je voudrais que mes requetes sql dedans soit dynamique.
Le problème c'est que j'ai une erreur et je n'arrive pas à m'en débarasser et je sais plus quoi faire !!

Alors voici l'erreur
Serveur : Msg 245, Niveau 16, État 1, Procédure insertion_donnee, Ligne 24
[Microsoft][ODBC SQL Server Driver][SQL Server]Erreur de syntaxe lors de la conversion de la valeur varchar ' SELECT * FROM Test WHERE ID_Entite = ' vers une colonne de type de données int.

Et voici mon code :

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
 
 
declare Mycursor1 Cursor 
for select ID_Entite from Test 
open Mycursor1
fetch Mycursor1 into @ID_Entite
while @@fetch_Status = 0
Begin
 
Set @SQL =    ' SELECT * FROM '+ @TableName + ' WHERE '+ @nom_Colonne  + ' =  ' + @ID_Entite 
 
exec(@SQL)
insert into TEST_ID (ID_Entite_Test, Valeur)  values ( @ID_Entite, @marequete) 
if(@valeur != null)
begin
insert into Donnee_Essais (ID_Source,ID_Type_Donnee_Heritiere, ID_Donnees_Historiques, Dynamique, ID_Entite, ID_Propriete_Entite )
values (@ID_Source, @ID_Type_Donnee_Heritiere, @ID_Type_Donnees_Historiques, @Dynamique, @ID_Entite, @ID_Propriete_Entite)
end
fetch Mycursor1 into @ID_Entite
END
CLOSE Mycursor1 
DEALLOCATE Mycursor1
Donc voilà si vous pouvais m'aider à faire partir cette erreur !!

Merci