8

perl/python の DBI API には、SQL クエリのパラメータを安全に補間するメカニズムがあります。たとえば、Pythonでは次のようにします。

cursor.execute("SELECT * FROM table WHERE value > ?", (5,))    

execute メソッドの 2 番目のパラメーターは、SQL クエリに追加するパラメーターのタプルです。

R の DBI 準拠 API に同様のメカニズムはありますか? 私が見た例では、クエリに渡されたパラメーターは表示されていません。そうでない場合、パラメーターをクエリに補間する最も安全な方法は何ですか? 私は特にRPostgresSQLの使用を検討しています。

4

2 に答える 2

1

実際、バインド変数の使用については十分に文書化されていません。とにかく、R の ODBC コマンドは、データベースごとに異なる動作をします。1 つの可能性は次のpostgresようになります。

res <- postgresqlExecStatement(con, "SELECT * FROM table WHERE value > $1", c(5))
postgresqlFetch(res)
postgresqlCloseResult(res)

それが役に立てば幸い。

于 2016-05-10T15:38:58.857 に答える