42ama

Как зарегистрировать деталь через БД

Nov 25th, 2021
387
6 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. DECLARE @DetailCaption nvarchar (max) = 'Спецификации'   -- Название детали
  2. DECLARE @DetailEntityName nvarchar(max) = 'NrbSpecification' -- Название объекта детали
  3. DECLARE @DetailSchemaName nvarchar(max) = 'NrbSpecificationDetail' -- Название страницы детали
  4. DECLARE @DetailEditPageName nvarchar(max) = 'NrbSpecificationDetailPage' -- Название страницы редактирования детали
  5.  
  6.  
  7. -- добавление идентификаторов схем необходимых для регистрации страницы детали
  8. -- Справочник деталей
  9. INSERT INTO SysDetail (Caption, DetailSchemaUId, EntitySchemaUId)
  10. OUTPUT Inserted.ID as [SysDetail.Id]
  11. VALUES
  12. (
  13.         @DetailCaption,
  14.         ( SELECT TOP 1 UId FROM SysSchema WHERE Name = @DetailSchemaName ),
  15.         ( SELECT TOP 1 UId FROM SysSchema WHERE Name = @DetailEntityName )
  16.  
  17. )
  18.  
  19. -- добавление идентификатора схемы объекта детали в таблицу SysModuleEntity
  20. -- Объект раздела
  21. INSERT INTO SysModuleEntity ( SysEntitySchemaUId )
  22. OUTPUT Inserted.ID as [SysModuleEntity.Id]
  23. VALUES (( SELECT TOP 1 UId FROM SysSchema WHERE Name = @DetailEntityName ))
  24.  
  25.  
  26. -- добавление идентификатора схемы страницы редактирования детали в таблицу SysModuleEdit
  27. -- Карточка раздела
  28. INSERT INTO SysModuleEdit ( SysModuleEntityId , CardSchemaUId )
  29. OUTPUT Inserted.ID as [SysModuleEdit.Id]
  30. VALUES
  31. (
  32.         ( SELECT Id FROM SysModuleEntity WHERE SysEntitySchemaUId in
  33.               ( SELECT TOP 1 UId FROM SysSchema WHERE Name = @DetailEntityName )
  34.         ),
  35.         ( SELECT TOP 1 UId FROM SysSchema WHERE Name = @DetailEditPageName )
  36.  
  37. )
RAW Paste Data