使用乙個儲存過程處理一對多的資料

2021-09-08 22:22:51 字數 898 閱讀 4703

今天insus.net分享經驗,在開發時,我們是怎樣儲存一對多關係的資料。怎樣說呢,你會遇上主表記錄與子表記錄同時儲存,但子表與主表有主外來鍵關聯。

下面建立兩張表,它們有關聯,主鍵外來鍵。

一般情況之下,你先新增主表tablea的記錄,得到新增的主鍵值之後,再新增tableb的記錄。或者是同時提交,但需要程式連2次資料庫,得到主鍵值,再插入tableb的資料。

下面insus.net的做法是一次性提交至資料庫中。

先資料庫中,建立的自定義表型別,這個型別基本上就是tableb的結構:

建立乙個儲存過程,對主表tablea資料插入,並返回主鍵值。

下面的儲存過程,才是給程式引用:

在程式中,我們可以建立乙個類別:

前端使用這個類別:

執行結果:

NHibernate一對多對映儲存資料

iset集合中,每個物件唯一。在nhibernate中,在父類中對應子類的iset集合時,因為set類為抽象類,所以不能例項化set類。isetlist new set 將報 無法建立抽象類或介面 iesi.collections.generic.set 的例項 錯誤。hashedset繼承於dic...

使用mybatis的一對多查詢

在寫 的時候經常有這種需求,乙個訂單對應多個商品,需要對訂單以及商品進行分頁模糊搜尋,在首頁展示多個滿足要求的訂單,並且同時展示出訂單中的商品資訊,此時需要返回乙個list,並且list中物件是一對多的關係,就是對1對多種的多進行分頁.這個時候的思路.我們以一為主表,多為副表進行分析 1.實現 使用...

寫了乙個簡單的對多游標控制的儲存過程

寫了乙個簡單的對多游標控制的儲存過程。此例是示範游標的具體使用方法。不過生產過程中不推薦使用游標。因為完全可以用into 變數語句和迴圈來代替游標。1 sp delimiter drop procedure if exists test2 sp cur demo create definer roo...