la procédure stockée sql argument en paramètre de requête dynamique

Cette procédure a trois paramètres. Mais quand j'essaie d'exécuter en passant des paramètres, il m'indique une erreur. S'il vous plaît aider moi.

create procedure queryfunctions @Tabname varchar(150),@colname varchar(150),@valuesname varchar(150)
as
begin
declare @sql varchar(4000)
select @sql='select * from @Tabname where @colname=@valuesname'
exec(@sql)
end

exec queryfunctions 'education','eduChildName','Revathi'

Erreur :

Msg 1087, Niveau 15, État 2, Ligne 1
Doit déclarer la variable de table "@Tabname".

Pouvez-vous confirmer que vous êtes à la recherche pour les ligne(s) dans le education table où le eduChildName colonne contient la valeur de la chaîne 'Revathi' et pas la ligne(s) où le eduChildName colonne contient la même valeur que le Revathi de la colonne?
J'ai supprimé ma réponse, comme il tirait trop de downvotes pour une raison quelconque. Désolé baji, vous êtes sur votre propre avec les autres réponses que vous avez obtenu, même si elles ne sont pas si utile.

OriginalL'auteur 7783 | 2012-07-26