root/branches/Abonament/SQL/Functions/getSectionForDTP.txt @ 754

Wersja 754, 1.6 KB (wprowadzona przez marek, 17 years temu)

merged with latest trunk

Line 
1
2SET ANSI_NULLS ON
3GO
4SET QUOTED_IDENTIFIER ON
5GO
6
7-- =============================================
8-- Author:              <Author,,Name>
9-- Create date: <Create Date, ,>
10-- Description: <Description, ,>
11-- =============================================
12ALTER FUNCTION [dbo].[getSectionForDTP]
13(
14        -- Add the parameters for the function here
15        @titleId INT,
16        @sectionId int,
17        @dzialId int = NULL
18)
19RETURNS varchar(10)
20AS
21BEGIN
22        -- Declare the return variable here
23DECLARE @grzbiet varchar(10)
24DECLARE @unknownGrzbiet varchar(10)
25SET @unknownGrzbiet ='-?-'
26
27
28IF @dzialId IS NULL
29BEGIN
30        -- jesli nie podany dzial to szukaj tylko po grzbietach
31        SELECT @grzbiet = P.Name  FROM MapowanieGrzbietow M
32        INNER JOIN GrzbietyProdukcja P ON P.Id = M.GrzbietProdukcjaId
33        INNER JOIN Grzbiety G ON G.Id = M.NowyId
34        WHERE P.TitleId=@titleId
35        AND Typ='G'
36        AND G.Id=@sectionId
37END
38ELSE
39BEGIN
40        -- szukaj najpierw po grzbietach
41        SELECT @grzbiet = P.Name  FROM MapowanieGrzbietow M
42        INNER JOIN GrzbietyProdukcja P ON P.Id = M.GrzbietProdukcjaId
43        INNER JOIN Grzbiety G ON G.Id = M.NowyId
44        WHERE P.TitleId=@titleId
45        AND Typ='G'
46        AND G.Id=@sectionId
47
48       
49        IF @grzbiet IS NULL
50        BEGIN
51                -- jesli nie znaleziono w poprzednim kroku to szukaj po dziale
52                SELECT @grzbiet = P.Name FROM MapowanieGrzbietow M
53                INNER JOIN GrzbietyProdukcja P ON P.Id = M.GrzbietProdukcjaId
54                INNER JOIN Dzial D ON D.Id = M.NowyId
55                WHERE P.TitleId=1
56                AND Typ='D'
57                AND M.NowyId = @dzialId
58        END
59END
60
61IF @grzbiet IS NULL
62        SET @grzbiet = @unknownGrzbiet
63
64RETURN @grzbiet
65
66END
67GO
68
69SET ANSI_NULLS OFF
70GO
71SET QUOTED_IDENTIFIER OFF
72GO
73
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.