データのクエリ
接続 後、SQL ステートメントを実行して結果を取得できます。
SELECT プロシージャ
sqlQuery 関数を使って、クエリを実行できます。デフォルトでは、すべての結果を単一のデータフレームとして返します。これは小さな結果セットに向いています。
results <- sqlQuery(cnx, "SELECT name, email FROM res_users WHERE company_name = 'Company Inc.'") for (row in 1:nrow(results)) { cat(paste("name = ", results[row,]$name, "\n")) cat(paste("email = ", results[row,]$email, "\n")) }
結果の反復処理
より大きな結果セットの場合、sqlQuery は結果セット全体をメモリに格納する代わりにバッチで結果を返すことができます。結果が残っていない場合やエラーが発生した場合は、sqlQuery およびsqlGetResults はデータフレームの代わりに整数のエラーコードを返します。
results <- sqlQuery(cnx, "SELECT name, email FROM res_users WHERE company_name = 'Company Inc.'", max = 1000) while (is.data.frame(results)) { for (row in 1:nrow(results)) { cat(paste("name = ", results[row,]$name)) cat(paste("email = ", results[row,]$email)) } rows <- sqlGetResults(cnx, max = 1000) }