3

R では、複数行のテキスト ファイル (SQL を含む) の内容を複数行の SQL にインポートするにはどうすればよいですか?

複数行のSQLクエリを単一の文字列にインポートすることを研究し、単純なSQLスクリプトを機能させることができました。ただし、SQL が新しい行を要求する場合 (つまり、SELECT ステートメントを追加する場合)、SQL スクリプトのすべての行を 1 行に入れると機能しません。

SQL .txt ファイルは次のようになります。

CREATE TABLE #Countries (Country varchar(255), Region varchar(255)) 
INSERT INTO #Countries  VALUES ('China', 'EM') 
SELECT * FROM #Countries

R コードは次のようになります。

fileconn<-file("R/sql.txt","r")            
sqlString<-readLines(fileconn)           
sqlString<-paste(sqlString,collapse="","") 
sqlconn <- odbcDriverConnect(connection = ....)
sqlQuery(sqlconn,sqlString)

CAT と GSUB も試しましたが、3 番目のステートメントが 2 番目のステートメントの後に 1 行で続くと問題が発生するような気がします。

誰でもこの問題を解決できますか? どうもありがとう。

4

1 に答える 1

3

SQL コマンドを分離する方法は 2 つあります。別々に送るか。これは、ファイルの各行を for ループで実行するだけで得られるものですが、もちろん、1 つのコマンドに複数の行が必要な場合はどうすればよいかという問題が発生しますよね? SQL コマンドを区切る 2 つ目の方法は、単純に ; で終了することです。これを各コマンドの最後に置くと、1 つの文字列で好きなだけ DB に渡すことができるはずです。

于 2011-07-26T11:12:57.917 に答える