Ćwiczenia
> Język T-SQL > Inne elementy języka T-SQL |
![]() ![]() |
||||||||||||||||||||||
4.4 Inne elementy języka T-SQL![]() Oprócz poleceń wymienionych w poprzednich lekcjach język T-SQL zawiera też inne elementy, jak funkcje systemowe czy instrukcje sterujące. Możliwość korzystania z tych elementów sprawia, że możemy praktycznie mówić o programowaniu w T-SQL.
Krok 1 - Użyj zmiennej w zapytaniu T-SQL1. 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_4_4_1.sql. 5. Zaznacz i uruchom (klawisz F5) fragmenty kodu oznaczone w komentarzach jako (1) oraz (2).
Wynikiem wykonania powyższego kodu jest ustawienie bazy danych Biblioteka jako bazy roboczej oraz wyświetlenie tytułów książek wydanych w roku 2002. tytul --------------- UML w kropelce XML na poważnie (2 row(s) affected)W zapytaniu użyto zmiennej @rok (przed nazwą zmiennej zawsze pojawia się symbol "@") typu char(4). Wartość zmiennej ustawiono na 2002. Zapamiętaj, że zmienne deklarujemy używając polecenia DECLARE, zaś wartości ustawiamy bezpośrednio przy użyciu polecenia SET lub pośrednio jako pojedynczą wartość z wyniku zapytania. Krok 2 - Zobacz w działaniu instrukcję sterującą CASE1. Zaznacz i uruchom (F5) fragment kodu oznaczony w komentarzu jako (3).
Wynikiem wykonania powyższego kodu jest wyświetlenie tytułów wszystkich książek z tabeli Ksiazki z dopiskiem, czy zostały wydane przed, czy po 2002 roku. tytul kiedy wydano ---------------------------------------------- ----------------- SQL Server 2000. Vademecum Administratora przed 2002 rokiem Windows Server 2003. Vademecum Administratora po 2002 roku UML w kropelce przed 2002 rokiem MS Access wersja 2002 dla ekspertów po 2002 roku XML na poważnie przed 2002 rokiem (5 row(s) affected)W zapytaniu została użyta instrukcja sterująca CASE, która w zależności od warunku wypełniła dodatkową kolumnę w wynikach odpowiednim tekstem. Krok 3 - Zlicz wiersze, na które wpływ miało ostatnio wykonane zapytanie1. Zaznacz i uruchom (F5) fragment kodu oznaczony w komentarzu jako (4).
Wynikiem wykonania powyższego kodu jest wyświetlenie wszystkich tytułów książek z tabeli Ksiazki, na następnie ich ilości. tytul --------------------------------------------- SQL Server 2000. Vademecum Administratora Windows Server 2003. Vademecum Administratora UML w kropelce MS Access wersja 2002 dla ekspertów XML na poważnie (5 row(s) affected) Ilosc rekordow (1) ------------------ 5 (1 row(s) affected) Ilosc rekordow (2) ------------------ 1 (1 row(s) affected)Funkcja systemowa @@ROWCOUNT zlicza wiersze, które zostały w jakikolwiek sposób objęte działaniem ostatnio wykonanego zapytania T-SQL. Zauważ, że po użyciu tej funkcji ponowne jej wykonanie zwraca liczbę 1. Zatem jeśli chcesz dalej korzystać z pierwotnie pobranej liczby, musisz ją wcześniej zapisać pod zmienną.
Krok 4 - Wykorzystaj instrukcję sterującą IF...ELSE do obsługi błędów1. Zaznacz i uruchom (F5) fragment kodu oznaczony w komentarzu jako (5).
Wynikiem wykonania powyższego kodu jest informacja o błędzie z dodatkowym zdaniem pochodzącym z instrukcji IF...ELSE (poniżej zaznaczyliśmy to zdanie na czerwono), instrukcji sterującej typowej dla języków programowania. Server: Msg 547, Level 16, State 1, Line 1 (... tu informacja serwera o błędzie ...) Wystapil blad.Funkcja systemowa @@ERROR zwraca numer błędu napotkanego przy wykonywaniu ostatniego polecenia T-SQL. Jeśli błąd nie wystąpił funkcja zwraca wartość 0. W powyższym przykładzie wystąpił błąd o numerze 547 (dotyczy wartości klucza obcego), ponieważ usiłowaliśmy dodać rekord zawierający wartość pola ID_wydawnictwa, która nie istnieje w tabeli Wydawnictwa (w ten sposób za pomocą związków i kluczy obcych serwer wymusza spójność danych).
Przejdź dalej ![]() |
|||||||||||||||||||||||
![]() Ćwiczenia > Język T-SQL > Inne elementy języka T-SQL |