http www strefawiedzy edu pl file


Zaawansowane
programowanie
w T-SQL
Przegląd zagadnień
Składnie T-SQL
Obsługa błędów
Podsumowanie
Laboratorium
Składnie T-SQL
Transact-SQL (T-SQL) to implementacja języka SQL w
systemie Microsoft SQL Server. Język ten nieco różni się
od standardu, ale większość podstawowych definicji jest
taka, jak w standardzie.
T-SQL - z języka zapytań stał się językiem
programowania baz danych.
Instrukcje sterujÄ…ce
Jednymi z częściej używanych składni są instrukcje
sterujÄ…ce.
Instrukcja sterująca IF...ELSE daje możliwość warunkowego
wykonywania bloków kodu. W implementacji T-SQL wygląda
ona jak poniżej.
DECLARE @zmienna int
SET @zmienna = 100
IF @zmienna > 100
PRINT 'Zmienna jest większa niż 100
ELSE
BEGIN
PRINT 'Zmienna jest mniejsza niż 100'
SET @zmienna = 0 -- zerowanie zmiennej
END
Instrukcje sterujÄ…ce
Kolejna składnia sterująca to pętla WHILE. W T-SQL
wygląda to następująco.
DECLARE @zmienna int
SET @zmienna = 0
WHILE @zmienna < 10
BEGIN
PRINT 'Iteracja nr ' + CAST(@zmienna AS
varchar(2))
SET @zmienna = @zmienna + 1
END
Kursory
Kursor to zestawy rekordów umieszczanych w pamięci i
przechowujących wyniki zapytań typu SELECT.
Umożliwiają zaawansowane formatowanie wyników
wyszukiwania danych i przetwarzanie rekordów jeden po
drugim (ale w ściśle określonej kolejności
determinowanej przez wynik zapytania, które stanowi
definicjÄ™ kursora).
Kursory
DECLARE Employee_Cursor CURSOR FOR
SELECT LastName, FirstName
FROM Northwind.dbo.Employees
WHERE LastName like 'B%'
OPEN Employee_Cursor
FETCH NEXT FROM Employee_Cursor
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM Employee_Cursor
END
CLOSE Employee_Cursor
DEALLOCATE Employee_Cursor
Składnie specjalne
Nowoczesne języki SQL obfitują w specjalne składnie,
które znacznie rozszerzają jego funkcjonalność.
Przykładem takiej składni może być PIVOT.
Składnia ta umożliwia stworzenie tabeli wynikowej z
zapytania SELECT, w której na nagłówkach wierszy
i kolumn znajdują się wartości z tabel zródłowych.
Składnie specjalne
USE AdventureWorks
GO
SELECT VendorID, [164] AS Emp1, [198] AS Emp2,
[223] AS Emp3, [231] AS Emp4, [233] AS Emp5
FROM
(SELECT PurchaseOrderID, EmployeeID, VendorID
FROM Purchasing.PurchaseOrderHeader) p
PIVOT
(
COUNT (PurchaseOrderID)
FOR EmployeeID IN
( [164], [198], [223], [231], [233] )
) AS pvt
ORDER BY VendorID;
Składnie specjalne
-- Przykładowy wynik
VendorID Emp1 Emp2 Emp3 Emp4 Emp5
1 4 3 5 4 4
2 4 1 5 5 5
3 4 3 5 4 4
4 4 2 5 5 4
5 5 1 5 5 5
Powyższy wynik obrazuje możliwości tej składni
umożliwiając zbudowanie tabeli wyświetlającej ilość
zamówień u wybranych producentów dokonanych
przez pięciu pracowników (każdy pracownik o
określonym EmployeeID).
Obsługa błędów - Gdzie wykrywać błędy?
W trakcie działania kodu SQL mogą wydarzyć się
nieprzewidziane błędy.
Mogą to być błędy wynikające:
żð z narzuconych w bazie danych ograniczeÅ„,
żðbÅ‚Ä™dy wynikajÄ…ce z prób wykonania niedozwolonych
operacji.
Wykrycie tych błędów i odpowiednia na nie reakcja to
zadanie dla programisty baz danych.
Obsługa błędów - Gdzie wykrywać błędy?
Błędy wykrywamy najczęściej w:
transakcjach - po wykryciu błędu wycofujemy transakcję,
procedurach składowanych - wykrywamy błędy powstałe
głównie w wyniku niepoprawnych wartości parametrów przez
użytkownika,
triggerach - podobnie jak w transakcjach, po napotkaniu
błędu wycofywana jest transakcja wywołująca trigger,
blokach kodu SQL - wszelkie rozbudowane bloki kodu
wymagają wykrywania błędów.
Obsługa błędów
Metody wykrywania błędów
Jak można wykrywać błędy? Metod na to jest wiele.
Po pierwsze można zastosować składnie sterujące, np.
IF...ELSE, do sprawdzania wartości zmiennych jeszcze
przed wystąpieniem błędu.
Druga metoda to wykorzystanie istniejÄ…cych w SZBD funkcji
wykrywających błędy.
W systemie Microsoft SQL Server takÄ… funkcjÄ… jest
@@ERROR, która zwraca numer błędu napotkanego w
ostatnio napotkanego błędu w bieżącej sesji.
Obsługa błędów
Metody wykrywania błędów
Aktualnie istnieją także inne, lepsze metody wykrywania
i obsługi błędów.
Chodzi o strukturalną obsługę wyjątków.
Jako wyjątek rozumiemy błąd, który wymaga obsługi.
Poniższy fragment kodu obrazuje przykładową obsługę
wyjątków przy pomocy składni TRY...CATCH (TRY - próbuj,
CATCH - przechwyć i obsłuż).
Podsumowanie
Składnie T-SQL
Obsługa błędów
Programowanie w języku zapytań to ważna umiejętność.
Powinni ją opanować zarówno programiści, jak i
administratorzy. Różne języki SQL oferują różne składnie.
Jednak reguły, jakimi powinien kierować się tworzący kod, są
te same nizależnie od SZBD. Bardzo często opanowanie w
zaawansowanym stopniu składni jednego języka pozwala w
przyszłości na łatwe opanowanie innego.
Laboratorium
Instrukcja sterujÄ…ca CASE
Instrukcja PIVOT
Stronicowane danych z użyciem funkcji rankingu
Obsługa błędów


Wyszukiwarka

Podobne podstrony:
http www strefawiedzy edu pl file
http www strefawiedzy edu pl file
http www strefawiedzy edu pl file
http www strefawiedzy edu pl file
http www strefawiedzy edu pl file
http www strefawiedzy edu pl file
http www strefawiedzy edu pl file
http www strefawiedzy edu pl file
www plock edu pl prv logopeda zaburzenia studium?azja motor?azja motor html xdweucpb(1)
www plock edu pl prv logopeda komputer ulatwienia tablety graf tablety gra
www plock edu pl prv logopeda komputer ulatwienia lektor lektor
www plock edu pl prv logopeda komputer ulatwienia syntezator syntezator
www plock edu pl prv logopeda komputer ulatwienia nakladki nakladk
www plock edu pl prv logopeda zaburzenia studium uposledzenie um sluch uposledzenie um sluch html rq
www plock edu pl prv logopeda komputer ulatwienia pen pen html is1eeu4t
www plock edu pl prv logopeda komputer warsztat technika komp
http www nirvanowiec republika pl MHDD

więcej podobnych podstron