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