TransactSQL2.txt

(1 KB) Pobierz
Napisz funkcję, która będzie zwracała œredniš pensję zadanego parametrem działu. Przetestuj utworzonš funkcję używajšc jej w zapytaniu SQL (np. w warunku WHERE - pracownicy zarabiajšcy powyżej œredniej swojego działu).

Składania tworzenia funkcji:

CREATE FUNCTION [ schema_name. ] function_name 
( [ { @parameter_name [ AS ][ type_schema_name. ] parameter_data_type 
    [ = default ] } 
    [ ,...n ]
  ]
)
RETURNS return_data_type
    [ WITH <function_option> [ ,...n ] ]
    [ AS ]
    BEGIN 
                function_body 
        RETURN scalar_expression
    END

Przykład:

CREATE FUNCTION CheckCount (@IDUser int)

RETURNS bit AS

BEGIN

  DECLARE @RetValue bit

  IF (SELECT COUNT(*) FROM dbo.Nazwy GROUP BY IDUsers HAVING IDUsers = @IDUser) > 10

    set @RetValue = 0

  ELSE

    set @RetValue = 1

  RETURN @RetValue

END



Napisz procedurę, która sprawdzi każdego pracownika i osobom które zarabiajš powyżej œredniej w ich dziale obniży pensję o 10%, a osobom zarabiajšcym poniżej œredniej, podwyższy pensję o 10%. Nie używaj funkcji z poprzedniego zadania. Wskazówka: aby procedura działała szybciej, najpierw oblicz wartoœci œrednich zarobków i przypisz je do tymczasowej tabeli. Następnie przy pomocy kursora przejrzyj wszystkich pracowników, porównujšc ich pensję z wartoœciš w tymczasowej tabeli.

Tabelę tymczasowš tworzy się identycznie jak zwykłš, tylko przed nazwš wstawia się #

Przykład:
CREATE TABLE #MyTempTable (cola INT PRIMARY KEY)
INSERT INTO #MyTempTable VALUES (1)
Zgłoś jeśli naruszono regulamin