これは InterSystems FAQ サイトの記事です。
InterSystems 製品は複数の SQL 文を一度に受け付けませんので、SQL 文での複数結果セットのサポートはありませんが、ストアドプロシージャを作成して複数の結果セットを返すことができます。
以下、ストアドプロシージャの中では、 %SQL.Statement クラスを利用して SQL を実行し、結果セットを作成し、結果セットを呼び出し元に返すため、ストアドプロシージャ実行時に自動生成されるプロシージャ・コンテキスト(=%sqlcontext 変数に格納)の中に、結果セットを登録しています。
結果セットの登録は、%Library.ProcedureContext クラスの AddResultSet() メソッドを使用します。
メモ:ストアドプロシージャ実行時に自動生成されるプロシージャ・コンテキストは %Library.ProcedureContext のインスタンスで %sqlcontext 変数に自動的に設定されます。
サンプルコードでは、Sample.Employee と Sample.Company を利用して SELECT 文を実行し、%Execute() 実行後に作成される結果セットを %sqlcontext に追加しています。
.png)

.png)
.png)



