1

編輯關聯表:我換了我的結構實現,但我的問題仍然保持不變;即首先創建公開對象創建SvcRequest記錄之前(如果尚不存在)。沒有以前的關係(SQL Server)的

我得到了一個數據庫,我不得不「修正」,並感到很困惑關於特定問題。爲了簡單起見,我們有兩個已經存在的表格(後果)。我花了一段時間來弄清楚這兩個,並最終在傳統的結表決定如下關係:

     Publications (id, SvcReqID, LogID) 
          /   \ 
          /    \ 
       SvcRequest (id)    SvcProgressLog (id) 

SvcRequest & SvcProgressLog都或多或少同級表都包含對父級的引用。有這種奇怪的分層關係,花了我一段時間才弄清楚,現在我只需要一種方法來加入它們,這使得它很容易執行CRUD操作。

的此處過程如下:

  1. 用於發佈服務請求進入
  2. 如果公開存在 - >更新相應的公開記錄。如果不是,請創建一個新的出版物。之後,根據從webform捕獲的信息創建SvcRequest記錄。(這裏需要幫助)
  3. 最後一個日誌條目可以存在的請求被創建,但尚未登陸。

以下關係存在:

  • 刊物 - > SvcRequest :: 1 - >許多
  • 刊物 - > SvcProgressLog :: 1 - >許多
  • SvcRequest - > SvcProgressLog ::很多 - >很多(-ish)

像往常一樣,我非常感謝的幫助和智慧的話;) よろしく

+0

是否可以從發佈是否存在傳入的服務請求告訴? –

+0

@Catcall:不幸的是,它必須首先檢查出版物表。 – Chiramisu

回答

1

由於我們的數據庫結構和所有支持表的複雜性,這裏我稱之爲SvcRequest表,我選擇編寫一系列可單獨運行的存儲過程以「更新」(雖然實際上是插入)請求或由主SP調用以輸入新條目。

後的思想和設計試驗小時,這是我能拿出最好的解決方案。寫完後我會發布一些示例代碼,以便其他人也可以從中受益。 :)

0

如果link_id不能用於聯繫SvcRequest和SvcProgressLog表,那麼你將需要從出版表撇清SvcProgressLog並涉及它,而不是直接SvcRequest:

刊物> ----- + SvcRequest + ----- < SvcProgressLog

+0

我很難理解你的評論。 : -/ – Chiramisu

+0

出版物與SvcRequest有一對多的關係。SvcRequest與SvcProgressLog有一對多的關係。 – Wil

+0

不完全一樣,SvcRequest實際上與SvcProgressLog有多對多的關係。因此需要它們之間的「聯結」表。 – Chiramisu