SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: -- Create date: -- Description: -- ============================================= ALTER FUNCTION [dbo].[getSectionForDTP] ( -- Add the parameters for the function here @titleId INT, @sectionId int, @dzialId int = NULL ) RETURNS varchar(10) AS BEGIN -- Declare the return variable here DECLARE @grzbiet varchar(10) DECLARE @unknownGrzbiet varchar(10) SET @unknownGrzbiet ='-?-' IF @dzialId IS NULL BEGIN -- jesli nie podany dzial to szukaj tylko po grzbietach SELECT @grzbiet = P.Name FROM MapowanieGrzbietow M INNER JOIN GrzbietyProdukcja P ON P.Id = M.GrzbietProdukcjaId INNER JOIN Grzbiety G ON G.Id = M.NowyId WHERE P.TitleId=@titleId AND Typ='G' AND G.Id=@sectionId END ELSE BEGIN -- szukaj najpierw po grzbietach SELECT @grzbiet = P.Name FROM MapowanieGrzbietow M INNER JOIN GrzbietyProdukcja P ON P.Id = M.GrzbietProdukcjaId INNER JOIN Grzbiety G ON G.Id = M.NowyId WHERE P.TitleId=@titleId AND Typ='G' AND G.Id=@sectionId IF @grzbiet IS NULL BEGIN -- jesli nie znaleziono w poprzednim kroku to szukaj po dziale SELECT @grzbiet = P.Name FROM MapowanieGrzbietow M INNER JOIN GrzbietyProdukcja P ON P.Id = M.GrzbietProdukcjaId INNER JOIN Dzial D ON D.Id = M.NowyId WHERE P.TitleId=1 AND Typ='D' AND M.NowyId = @dzialId END END IF @grzbiet IS NULL SET @grzbiet = @unknownGrzbiet RETURN @grzbiet END GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO