Advertisement
Guest User

Untitled

a guest
Aug 9th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.22 KB | None | 0 0
  1. Existují tři typy funkcí:
  2. a)Skalární(Scalar-valued) = funkce která vrací jeden hodnotový datový typ tj.varchar nebo int nebo .... Např.
  3. CREATE FUNCTION [sp_SkalarniFunkce](
  4.     @parametr int,
  5.     @parametr2 int
  6. )
  7. returns int
  8. AS
  9. BEGIN
  10.  IF(@parametr = 20 AND @parametr = 30)
  11.     RETURN 10
  12.  
  13.     RETURN 5
  14. END
  15.  
  16. b)Inline Tabulková(Table-valued) = funkce vrací data jako tabulku, u inline nelze mít tělo funkce ale je to pouze na jeden řádek proto inline např. (Netřeba definovat strukturu vrácené tabulky)
  17.  
  18. CREATE FUNCTION [sp_InlineTableValuedFunkce](
  19.     @parametr int,
  20.     @parametr2 int
  21. )
  22. returns table
  23. AS RETURN (SELECT * FROM [dbo].Benefit WHERE BenefitID = @parametr AND [Order] = @parametr2)
  24.  
  25. c)Multi Tabulková(Table-valued) = funkce vrací data jako tabulku, je možné definovat tělo funkce a v něm dělat logiku. Funkce je na více řádků. Je potřeba definovat strukturu vrácené tabulky na začátku). Např.
  26.  
  27. CREATE FUNCTION [sp_MultiTableValuedFunkce](
  28.     @parametr int,
  29.     @parametr2 int
  30. )
  31. returns @retResult table
  32. (
  33.     BenefitID int,
  34.     [Name] varchar(50),
  35.     [Order] int
  36. )
  37. AS
  38. BEGIN
  39.  INSERT @retResult SELECT * FROM [dbo].Benefit WHERE BenefitID = @parametr AND [Order] = @parametr2
  40.  RETURN
  41. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement