Ćwiczenia > Procedury składowane w MS SQL Server 2000 > Rekompilacja procedur

8.5 Rekompilacja procedur



W wykładzie 8.2 Czym są procedury składowane? dowiedziałeś się, czym jest rekompilacja procedury składowanej i w jakim celu się jej dokonuje. W tej lekcji poznasz metody rekompilacji procedur składowanych.

Krok 1 - Dokonaj rekompilacji procedury składowanej przy użyciu procedury sp_recompile

1. Uruchom program Query Analyzer.
2. Zaloguj się używając uwierzytelnienia systemu Windows.
3. W menu głównym programu wybierz File - Open.
4. W oknie Open Query File wybierz plik demo_8_5_1.sql.
5. Zaznacz i uruchom (klawisz F5) fragment kodu oznaczony w komentarzu jako (1).


-- (1) utworzmy procedure skladowana
USE Northwind
GO

CREATE PROC pobierz_pracownika
	@id_prac int = 1
-- WITH RECOMPILE
AS
SELECT LastName, FirstName
FROM Employees
WHERE EmployeeID = @id_prac
GO


Wynikiem wykonania powyższego kodu jest utworzenie w bazie danych Northwind procedury składowanej pobierz_pracownika, która pobiera jako parametr identyfikator pracownika, a zwraca jego nazwisko i imię.

2. Zaznacz i uruchom (klawisz F5) fragment kodu oznaczony w komentarzu jako (2).


-- (2) rekompilacja przy uzyciu sp_recompile
EXEC sp_recompile pobierz_pracownika
EXEC pobierz_pracownika @id_prac = 3
GO


Wynikiem wykonania powyższego kodu jest wykonanie procedury pobierz_pracownika z jej jednoczesną rekompilacją.

Samo wywołanie procedury sp_recompile nie powoduje natychmiastowej rekompilacji procedury składowanej. Rekompilacja następuje przy pierwszym wykonaniu procedury po oznaczeniu jej do rekompilacji przy użyciu sp_recompile. Stąd druga linijka powyższego wsadu.


Krok 2 - Dokonaj rekompilacji procedury składowanej bezpośrednio przy jej wywołaniu

1. Zaznacz i uruchom (klawisz F5) fragment kodu oznaczony w komentarzu jako (3).


-- (3) rekompilacja przy wywolaniu
EXEC pobierz_pracownika @id_prac = 3 WITH RECOMPILE
GO


Wynikiem wykonania powyższego kodu jest wykonanie procedury pobierz_pracownika z jej jednoczesną rekompilacją.

Krok 2 - Utwórz procedurę, która przy każdym wywołaniu jest rekompilowana

1. Zaznacz i uruchom (klawisz F5) fragment kodu oznaczony w komentarzu jako (4).


-- (4) usunmy procedure
DROP PROC pobierz_pracownika
GO


Wynikiem wykonania powyższego kodu jest usunięcie z bazy danych procedury składowanej pobierz_pracownika.

2. We fragmencie kodu oznaczonym w komentarzu jako (1) odkomentuj linię zawierającą klauzulę WITH RECOMPILE.
3. Zaznacz i uruchom (F5) ponownie fragment kodu oznaczony jako (1).

Tym razem utworzysz procedurę składowaną, która będzie przy każdym wywołaniu rekompilowana.

Do skryptu utworzonego dla projektu Prace dyplomowe w poprzedniej lekcji dołącz kod wywołujący utworzone przez Ciebie procedury składowane z ich jednoczesną rekompilacją.


Przejdź dalej



Ćwiczenia > Procedury składowane w MS SQL Server 2000 > Rekompilacja procedur