我想聲明我是一個SQL小白開始進行數據更新表,所以試圖解決這個問題時,我會很感激我的工作流程和/或心態有任何建議或意見。存儲過程,根據從表參數
我在做什麼是收集使用統計約幾個應用程序,在幾類(不是所有種類不一定適用於所有應用程序),將它們存儲在數據庫中。
我已經設置了幾桌要做到這一點,再一個表,一切融合在一起是真實結構像這樣鏈接(從現在起:Dtable):
(column name - details)
UserID - foreign key to another table which stores users data
ApplicationID - foreign key to another table which stores applications data
CategoryID - foreign key to another table which holds a list of different categories
Value - the actual data
每個應用程序收集的數據,然後使用存儲過程將其提交給數據庫。隨着數據量可以根據實際使用情況是不同的(並不總是發送每一個類別),併爲每個應用程序,我想用類別ID和值的列表,發送數據作爲一個DataTable的,所以我不會必須爲每個類別調用一個程序(Ptable)。
我需要在Dtable在PTABLE更新每個記錄的正確值根據類別ID,也受到用戶名和的applicationID過濾。 用戶ID和的applicationID將給出其它兩個參數來存儲的過程。 PTABLE只包含類別ID/值記錄列表。現在
,我讀到光標(在參數表中的每個記錄設置在數據庫表中的相關數據),但共識似乎是「不惜一切代價避免」。
我該如何去更新表格,然後根據中的變化記錄Ptable?
P.S.
這些表格的結構非常適合未來在添加更多類別/應用程序時保持靈活性和可擴展性。如果有更好的方法來做到這一點,我會很高興知道。
在Dtable,在那裏只有一個值的用戶ID,的applicationID的特定組合,和CATEGORYID? –
@Zach Esposito: 對於相同的UserID和ApplicationID,可能有多個值,但每個UserID和ApplicationID和CategoryID只能有一個值。 –
在這種情況下,聽起來你需要所有三個ID來知道要更新哪個值,Ptable是否也包含UserID和ApplicationID? –