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