il est très facile à utiliser l'instruction SQL suivante pour obtenir la valeur pour une clé primaire spécifique: ID d'une table spécifique: Mytale:SQL générique pour obtenir la valeur maximale tableau données et les noms de colonnes comme varchar
DECLARE @v_maxID bigint;
SELECT @v_maxID = MAX(ID) FROM myTable;
Qu'est-ce que J'ai besoin est un code SQL générique pour obtenir la valeur maximale pour une clé d'une table, où la clé et le tableau sont spécifiés varchar types (max) en tant que paramètres:
DECLARE @v_maxID bigint;
-- SELECT @v_maxID = MAX(@p_ID) FROM @p_Table;
Je commente le SELECT car il est ne fonctionne pas. J'ai essayé de construire une chaîne SQL et je peux l'EXEC, mais je ne peux pas récupérer la valeur max à ma variable locale (@v_maxID). Aucune suggestion?
Notez que la réponse de BC souffre la même chose que exec, c'est sql injectable. Si vous contrôlez l'entrée, allez-y. – eglasius
On peut espérer que les noms de tables et de colonnes ne sont pas des entrées utilisateur, mais vous avez raison concernant la sécurité des paramètres. –
oui, ceci est juste une petite section de codes dont j'ai besoin dans mon plus grand SP et celui-ci sera exécuté par un travail régulier tous les jours. J'ai le contrôle total du SP pour un usage interne. –