В моей БД есть таблица ADGroup, в которой есть столбцы Id, Guid.Столбец Guid представляет атрибут Guid внешних групп Active Directory.
В моей БД есть таблица ADGroupADGroup, в которой есть столбцы ParentADGroupId, ChildADGroupId.Эти столбцы представляют родительские / дочерние экземпляры столбца ADGroup.Id в таблице ADGroup.
У меня есть sproc, который использует параметр с табличным значением.TVP имеет столбцы ParentADGroupGuid и ChildADGroupGuid, оба с типом данных UNIQUEIDENTIFIER.Эти столбцы представляют родственные / дочерние отношения Group Guid в AD.
Я вставил данные ADGroup в свою БД, и теперь мне нужно вставить данные ADGroupADGroup, как показано ниже.Как правильно написать оператор выбора для вставки в разделе «/ * оператор выбора здесь * /» ниже?
CREATE PROCEDURE InsertADGroupGroups
-- Add the parameters for the stored procedure here
@ADGroupADGroupParameter ADGroupADGroupParameter READONLY
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
INSERT INTO ADGroupADGroup
(
ParentADGroupId,
ChildADGroupId
)
/* select statement here */
END
ОБНОВЛЕНИЕ
Вот некоторый пример SQL, который получит правильный ADGroup.Id для вставки для ParentADGroupGuid в TVP:
-- get ADGroup.Id for the AD Group Guid in the tvp
SELECT adg.Id
FROM ADGroup adg
JOIN ADGroupADGroupParameter tvp ON tvp.ParentADGroupGuid = adg.Guid
Так что теперь мне нужно найти упрощенный способ обновления этого запроса, чтобы также включить ADGroup.Идентификатор для ChildADGroupGuid в TVP