Главная страница


su.dbms.sql

 
 - SU.DBMS.SQL ------------------------------------------------------------------
 From : Akzhan Abdulin                       2:5030/217     17 Feb 2001  16:07:12
 To : All
 Subject : деревья 4
 -------------------------------------------------------------------------------- 
 
 Об именовании
 
 === Cut ===
 CREATE VIEW akViewGenericAccountCode_Supp("Id", "Code")
 AS
     SELECT
       "Id", "Code"
     FROM
       ASubAccount
   UNION ALL
     SELECT
       "Id", "Code"
     FROM
       ARootAccount
 GO
 
 CREATE VIEW akViewGenericAccountCode
 AS
   SELECT
     CA."Id",
     CA.IsRoot,
     CA.IsSub,
     CA.IsFolder,
     CA.IsLeaf,
     ISNULL(VGACS."Code", '#' + CAST(CA."Id" AS VARCHAR(100))) AS "Code"
   FROM
     ACustomAccount CA
     LEFT OUTER JOIN akViewGenericAccountCode_Supp VGACS ON (CA."Id" =
 VGACS."Id")
 GO
 
 SET QUOTED_IDENTIFIER ON
 GO
 CREATE FUNCTION akGetGenericAccountCode(@Id AnAccountId)
 RETURNS AnAccountCode
 AS
 BEGIN
   DECLARE @Result AnAccountCode
 
   SELECT TOP 1 @Result = "Code" FROM akViewGenericAccountCode WHERE "Id" = @Id
   RETURN @Result
 END
 GO
 
 SET QUOTED_IDENTIFIER ON
 GO
 CREATE FUNCTION akGetAccountPath(@Id AnAccountId)
 RETURNS VARCHAR(8000)
 AS
 BEGIN
   DECLARE @Result VARCHAR(8000)
 
   SET @Result = ''
   WHILE EXISTS(SELECT * FROM ACustomAccount WHERE ("Id" = @Id))
   BEGIN
     SET @Result = '\' + dbo.akGetGenericAccountCode(@Id) + @Result
     IF NOT EXISTS(SELECT * FROM ASubAccount WHERE ("Id" = @Id))
     BEGIN
       BREAK
     END
     SELECT @Id = FolderAccountId FROM ASubAccount WHERE ("Id" = @Id)
   END
   RETURN @Result
 END
 GO
 
 === Cut ===
 
 Akzhan
 
 --- FMail/Win32 1.42/g
  * Origin: MT Computers, mailto:akzhan@mtgroup.ru (2:5030/217)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 деревья 4   Akzhan Abdulin   17 Feb 2001 16:07:12 
Архивное /su.dbms.sql/22713a8e9404.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional