0

我们如何在MDS.

例如,我有 2 个组,分别称为 A 组和 B 组。

A组用户输入记录如下:

NAME    CODE
Bike    1
Car     2

同样,A组用户输入记录如下:

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

我们怎样才能做到这一点?我们需要为此编写任何自定义代码。请在这方面帮助我

4

1 回答 1

0

您在每个已创建的订阅视图中都有列 [EnterUserName]。因此,您可以做的是向您的实体添加一列并创建一个插入触发器,该触发器将此信息复制到新创建的列中。必须为保存实体主要信息的“基表”创建触发器。

有关如何创建订阅视图的信息,请参阅:http: //msdn.microsoft.com/en-us/library/ff487013.aspx

如果您想检查哪个表包含您的实体的信息,您可以在 MDSDB 数据库中搜索视图并执行“ALTER to”语句。表名应该类似于 [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
于 2014-06-13T09:34:06.400 回答