-- Добавляем вложенные объекты для линий 3 и 150 кВ
IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 15 AND Код_типа_подобъекта = 15 AND (Верхний_уровень IS NULL OR Верхний_уровень = 0)) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Представлять_папкой,Разрешать_новые_подобъекты) VALUES (15,15,0,1)
IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 15 AND Код_типа_подобъекта = 30 AND (Верхний_уровень IS NULL OR Верхний_уровень = 0)) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Представлять_папкой,Разрешать_новые_подобъекты) VALUES (15,30,0,1)
IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 15 AND Код_типа_подобъекта = 31 AND (Верхний_уровень IS NULL OR Верхний_уровень = 0)) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Представлять_папкой,Разрешать_новые_подобъекты) VALUES (15,31,1,1)
IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 15 AND Код_типа_подобъекта = 32 AND (Верхний_уровень IS NULL OR Верхний_уровень = 0)) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Представлять_папкой,Разрешать_новые_подобъекты) VALUES (15,32,0,1)
IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 15 AND Код_типа_подобъекта = 42 AND (Верхний_уровень IS NULL OR Верхний_уровень = 0)) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Представлять_папкой,Разрешать_новые_подобъекты) VALUES (15,42,1,1)
IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 15 AND Код_типа_подобъекта = 43 AND (Верхний_уровень IS NULL OR Верхний_уровень = 0)) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Представлять_папкой,Разрешать_новые_подобъекты) VALUES (15,43,0,1)
IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 15 AND Код_типа_подобъекта = 45 AND (Верхний_уровень IS NULL OR Верхний_уровень = 0)) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Представлять_папкой,Разрешать_новые_подобъекты) VALUES (15,45,0,1)

IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 16 AND Код_типа_подобъекта = 16 AND (Верхний_уровень IS NULL OR Верхний_уровень = 0)) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Представлять_папкой,Разрешать_новые_подобъекты) VALUES (16,16,0,1)
IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 16 AND Код_типа_подобъекта = 30 AND (Верхний_уровень IS NULL OR Верхний_уровень = 0)) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Представлять_папкой,Разрешать_новые_подобъекты) VALUES (16,30,0,1)
IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 16 AND Код_типа_подобъекта = 31 AND (Верхний_уровень IS NULL OR Верхний_уровень = 0)) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Представлять_папкой,Разрешать_новые_подобъекты) VALUES (16,31,1,1)
IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 16 AND Код_типа_подобъекта = 32 AND (Верхний_уровень IS NULL OR Верхний_уровень = 0)) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Представлять_папкой,Разрешать_новые_подобъекты) VALUES (16,32,0,1)
IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 16 AND Код_типа_подобъекта = 42 AND (Верхний_уровень IS NULL OR Верхний_уровень = 0)) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Представлять_папкой,Разрешать_новые_подобъекты) VALUES (16,42,1,1)
IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 16 AND Код_типа_подобъекта = 43 AND (Верхний_уровень IS NULL OR Верхний_уровень = 0)) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Представлять_папкой,Разрешать_новые_подобъекты) VALUES (16,43,0,1)
IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 16 AND Код_типа_подобъекта = 45 AND (Верхний_уровень IS NULL OR Верхний_уровень = 0)) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Представлять_папкой,Разрешать_новые_подобъекты) VALUES (16,45,0,1)

-- Добавляем информацию о верхнем уровне - для каких типов объектов линии 3 и 150 кВ являются прямыми объектами-владельцами верхнего уровня
IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 15 AND Код_типа_подобъекта = 30 AND Верхний_уровень = 1) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Верхний_уровень) VALUES (15,30,1)
IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 15 AND Код_типа_подобъекта = 31 AND Верхний_уровень = 1) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Верхний_уровень) VALUES (15,31,1)
IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 15 AND Код_типа_подобъекта = 32 AND Верхний_уровень = 1) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Верхний_уровень) VALUES (15,32,1)
IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 15 AND Код_типа_подобъекта = 42 AND Верхний_уровень = 1) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Верхний_уровень) VALUES (15,42,1)
IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 15 AND Код_типа_подобъекта = 43 AND Верхний_уровень = 1) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Верхний_уровень) VALUES (15,43,1)
IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 15 AND Код_типа_подобъекта = 44 AND Верхний_уровень = 1) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Верхний_уровень) VALUES (15,44,1)
IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 15 AND Код_типа_подобъекта = 45 AND Верхний_уровень = 1) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Верхний_уровень) VALUES (15,45,1)

IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 16 AND Код_типа_подобъекта = 32 AND Верхний_уровень = 1) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Верхний_уровень) VALUES (16,32,1)
IF NOT EXISTS (SELECT * FROM Характеристики_типов_объектов WHERE Код_типа_объекта = 16 AND Код_типа_подобъекта = 43 AND Верхний_уровень = 1) INSERT INTO Характеристики_типов_объектов (Код_типа_объекта,Код_типа_подобъекта,Верхний_уровень) VALUES (16,43,1)
GO
-- удаляем неиспользуемые функции
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GetOwnerOrgID]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[GetOwnerOrgID]
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GetAttendantOrgID]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[GetAttendantOrgID]
GO