Merci à vous d'avoir répondu ça fait plaisir !
Bon en ce qui concerne mon probleme, je vais m'orienter vers la réponse de mr_qno, car c'est véritablement la seule qui convient à mon probleme ...
En fait, je dois absolument utiliser la commande 
EXEC car je réalise d'autres concaténations dans la chaine qui me sert de requete ... 
Voici mon Code :
	
	1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
   | -- ci-dessous, 1 parametre d'entrée de ma procedure stockée
@id numeric -- identifiant à tester
[...]
-- ci-dessous, trois variables locales
DECLARE @table varchar(32) -- contient le nom de la table à tester
DECLARE @OK int
DECLARE @req varchar(100)
[...]
SET @req = 'SELECT @OK = count(*) FROM '+@table+' WHERE ID_'+@table+'='+CAST(@id AS VARCHAR)
EXEC(@req)
IF @OK = 0 OR @OK IS NULL 
BEGIN 
 RAISERROR ('Erreur', 16, 1) 
 RETURN 
END
[...] | 
 En fait, il s'agit de faire une procedure qui teste une table dont le nom est récupéré automatiquement. La clé primaire des tables que je veux tester est toujours de la forme :
Nom Table : MaTable
clé primaire : ID_MaTable
Avec cette méthode, je pense que je suis obligé de passer par une table temporaire ...
Qu'est ce que vous en pensez ?
 
			
		
Partager