Advertisement
Guest User

Untitled

a guest
Aug 9th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.17 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.  RETURN 10
  11. END
  12.  
  13. 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)
  14.  
  15. CREATE FUNCTION [sp_InlineTableValuedFunkce](
  16.     @parametr int,
  17.     @parametr2 int
  18. )
  19. returns table
  20. AS RETURN (SELECT * FROM [dbo].Benefit WHERE BenefitID = @parametr AND [Order] = @parametr2)
  21.  
  22. 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ř.
  23.  
  24. CREATE FUNCTION [sp_MultiTableValuedFunkce](
  25.     @parametr int,
  26.     @parametr2 int
  27. )
  28. returns @retResult table
  29. (
  30.     BenefitID int,
  31.     [Name] varchar(50),
  32.     [Order] int
  33. )
  34. AS
  35. BEGIN
  36.  INSERT @retResult SELECT * FROM [dbo].Benefit WHERE BenefitID = @parametr AND [Order] = @parametr2
  37.  RETURN
  38. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement