.NET データテーブルでは、列はオブジェクト型であり、列の有効な型としてデータテーブルを含めることができます。したがって、かなり複雑な構造を作成できます。
CompanyID (Integer) | CompanyName (String) | OrderRecords (DataTable)
---------------------------------------------------------------------------
1 | Acme Corp. | DataTable of Orders
Oracle ストアド プロシージャを呼び出すときに、そのような構造を返す方法はありますか。インライン ビューを使用しようとしましたが、できませんでした。例:
refCursor IS ref CURSOR;
PROCEDURE GETCOMPANYLIST (
CompanyCursor OUT refCursor
)
AS
BEGIN
Open CompanyCursor For
SELECT COMPANYID, COMPANYNAME,
(SELECT * FROM ORDERS WHERE CompanyID = CompanyID) OrderRecords
WHERE IsActive = 'T';
END GETCOMPANYLIST;
これは機能しませんが、ここでやろうとしていることを行う方法はありますか? 現在、データベースへの 1 回の呼び出しで会社のリストを取得する必要があります。次に、すべてのレコードをループし、個々の呼び出しを行って注文の各リストを取得する必要があります。
[有効な回答を追加 - これまで、実際に質問に回答する回答はありませんでした]