Transmettre la variable R à sqlQuery de RODBC
Dans le package RODBC, transmettre des variables R à la fonction sqlQuery permet l'exécution de requêtes dynamiques. Voici comment y parvenir pour différents scénarios :
Fonction scalaire/à valeur table et procédure stockée
Pour transmettre une variable à une fonction scalaire/à valeur table ou stockée procédure, utilisez la fonction paste() pour construire la chaîne de requête. Par exemple :
x <- 1 example <- sqlQuery(myDB, paste("SELECT * FROM dbo.my_table_fn (", x, ")"))
Clause WHERE
Pour passer une variable à la clause WHERE d'une instruction SELECT, utilisez la fonction sprintf() :
example2 <- sqlQuery(myDB, sprintf("SELECT * FROM dbo.some_random_table AS foo WHERE foo.ID = %d", x))
Exécution de procédure stockée
Pour exécuter une procédure stockée avec un argument, utilisez sprintf :
example3 <- sqlQuery(myDB, sprintf("EXEC dbo.my_stored_proc (%d)", x))
En construisant la chaîne de requête de manière dynamique, vous pouvez transmettre des variables R comme arguments aux fonctions et instructions SQL.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!