在.NET Datatable中,列是對象類型,它可以將數據表包含爲列的有效類型。所以,你可以創建一個相當複雜的結構:將數據表作爲字段從Oracle傳遞到.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;
這是不行的,但有沒有辦法做什麼,我想在這裏做什麼? 目前,我必須在一次調用數據庫的情況下取回公司名單,然後遍歷所有記錄並進行單個調用以獲取每個訂單列表。
[增加了有效的答案 - 到現在爲止沒有回答居然回答的問題]
這正是我要去的地方。到目前爲止它不能正常工作,但幾乎在那裏。 – stephenbayer 2009-01-21 17:58:37