これは、InterSystems FAQサイトの記事です。
%SQL.Util.Proceduresクラスの CSV() プロシジャを使用することにより、実現できます。
下記が使用例のコードとなります。(test.csvというファイルが c:\temp にあるという前提)
Set filename="c:\temp\test.csv"
Set result=##class(%SQL.Statement).%ExecDirect(,"call %SQL_Util.CSV(,?,?)",.rowtype,filename)
Set rset =result.%NextResult()
// 全件表示したい場合は、do rset.%Display()
While rset.%Next() {
Write "Name:",rset.%GetData(1)," UID:",rset.%GetData(2)," PHONE:",rset.%GetData(3),!
}
Set rset="",result=""
Quit
上記を実行することにより結果セットとして各行およびフィールドにアクセスできます。
.png)
