Advertisement
madanska

functions

Nov 22nd, 2019 (edited)
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
T-SQL 1.12 KB | None | 0 0
  1. ---------------------------------------------------------------------------------------------
  2. ------------------------------------------ FUNCTIONS ----------------------------------------
  3. ---------------------------------------------------------------------------------------------
  4. -- зад 1. scalar-valued function
  5. CREATE FUNCTION CUSTOMERS_COUNT (@CUST_ID INT)
  6. RETURNS VARCHAR(200)
  7. AS
  8. BEGIN
  9.     DECLARE @CNT INT, @NAME VARCHAR(30)
  10.  
  11.     SELECT @NAME = C.FNAME + ' ' + C.LNAME,
  12.            @CNT = COUNT(O.ORDER_ID)
  13.     FROM CUSTOMERS C LEFT JOIN ORDERS O
  14.     ON C.CUSTOMER_ID = O.CUSTOMER_ID
  15.     WHERE C.CUSTOMER_ID = @CUST_ID
  16.     GROUP BY C.FNAME, C.LNAME
  17.  
  18.     RETURN 'The customer ' + @NAME + ' with (ID = ' +
  19.             CAST(@CUST_ID AS VARCHAR) + ') made ' +
  20.             CAST(@CNT AS VARCHAR) + ' orders.'
  21. END
  22.  
  23. SELECT DBO.CUSTOMERS_COUNT(CUSTOMER_ID)
  24. FROM CUSTOMERS
  25.  
  26. -- зад 2.  - table-valued function
  27. CREATE FUNCTION COUNTRIES_BY_REGION()
  28. RETURNS TABLE
  29. AS
  30. RETURN
  31.     SELECT R.NAME [REGION NAME], C.NAME [COUNTRY NAME]
  32.     FROM COUNTRIES C FULL JOIN REGIONS R
  33.     ON C.REGION_ID = R.REGION_ID
  34.  
  35. SELECT *
  36. FROM DBO.COUNTRIES_BY_REGION()
  37. ORDER BY 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement