2014-06-11 41 views
0

我們如何在MDS中自動顯示記錄的所有者。我們如何顯示在MDS中加載記錄的用戶

例如,我有2組,即A組和B組。

進入記錄如下

甲組用戶:

NAME CODE 
Bike 1 
Car  2 

同樣甲組用戶輸入記錄如下:

NAME CODE 
Bus  3 
Lorry 4 

我想要顯示是

NAME CODE Owner 
Bike 1  Group A 
Car  2  Group A 
Bus  3  Group B 
Lorry 4  Group B 

我們該如何做到這一點?我們需要爲此編寫任何自定義代碼。請在這方面幫助我

回答

0

在每個已創建的訂閱視圖中都有[EnterUserName]列。因此,您可以做的是向您的實體添加一列,並創建一個插入觸發器,將此信息複製到新創建的列。觸發器必須爲保存實體主要信息的「基本表」緩衝。

有關如何創建訂閱視圖看: http://msdn.microsoft.com/en-us/library/ff487013.aspx

如果你想檢查哪些表包含您可以搜索MDSDB數據庫的視圖,並執行實體的信息「改成」語句。該表的名稱應該是這樣的[TBL _... EN]

現在在表上創建一個觸發器:

CREATE TRIGGER [mdm].[SOME_NAME] 
    ON [mdm].[YOUR_BASE_TABLE] 
    AFTER INSERT 

AS 
BEGIN 

    SET NOCOUNT ON; 
    UPDATE [mdm].[YOUR_SUBSCRIPTION_VIEW] 
    SET [Owner] = [EnterUserName] 
    FROM [mdm].[YOUR_SUBSCRIPTION_VIEW] 
    WHERE ID = (SELECT MAX(ID) FROM [mdm].[YOUR_SUBSCRIPTION_VIEW]) 

END 
+0

非常感謝你爲這個代碼。它按預期工作。我想知道更多關於它的細節。例如在我的基礎表中,我只能看到名稱和代碼。我看不到用戶定義的列。當我們更新訂閱視圖時,它是如何自動反映在MDS中的。謝謝! – user3607647

+0

我很高興它爲你解決。不幸的是,MDS後端沒有很好地記錄。但是如果你看看SP [udpCreateAttributeViews],你會注意到當你創建一個視圖時執行的更新表信息的主要步驟。 – Narti

相關問題