SQL Server 2008 nowe cechy T-SQL deklaracji DECLARE i ...

SQL Server 2008 nowe cechy T-SQL

Tadeusz Pankowski

put.poznan.pl/~tadeusz.pankowski

(c) T. Pankowski, SQL 2008 nowe

cechy

1

Zloone operatory przypisania

? Nowe operatory: += (plus equals) ? = (minus equals) *= (multiplication equals) /= (division equals) %= (modulo equals)

? Przyklad: DECLARE @cena AS MONEY = 10.00; SET @cena += 2.00; SELECT @cena;

(c) T. Pankowski, SQL 2008 nowe

cechy

3

Inicjalizacja zmiennych

? Moliwe jest inicjalizowanie zmiennych w trybie "inline", tj. przy ich deklaracji. Eliminuje to konieczno rozdzielenia deklaracji DECLARE i przypisania wartoci SET.

? Przyklad: DECLARE @i AS INT = 0, @d AS DATETIME = CURRENT_TIMESTAMP; SELECT @i AS [@i], @d AS [@d];

(c) T. Pankowski, SQL 2008 nowe

cechy

2

VALUES jako konstruktor tabeli

? Za pomoc frazy VALUES mona konstruowa (wielo)zbi?r krotek.

? Umoliwia to dolczanie wielu krotek do tabeli za pomoc pojedynczego wyraenia INSERT.

? Przyklad:

INSERT INTO Klienci(KliId, Nazwa, Tel, Adres) VALUES (1, 'klient 1', '(111) 111-1111', 'adres 1'), (2, 'klient 2', '(222) 222-2222', 'adres 2'), (3, 'klient 3', '(333) 333-3333', 'adres 3'), (4, 'klient 4', '(444) 444-4444', 'adres 4'), (5, 'klient 5', '(555) 555-5555', 'adres 5');

(c) T. Pankowski, SQL 2008 nowe

cechy

4

VALUES jako konstruktor tabeli

? Konstruktor tabeli moe by uywany do definiowania wyrae tabelowych i uywane we wszystkich tych miejscach, gdzie moe wystpowa wyraenie tabelowe, w szczeg?lnoci we frazie FROM wyraenia SELECT lub jako tabela r?dlowa w wyraeniu MERGE.

? Przyklad: SELECT * FROM (VALUES (1, 'klient 1', '(111) 111-1111', 'adres 1'), (2, 'klient 2', '(222) 222-2222', 'adres 2'), (3, 'klient 3', '(333) 333-3333', 'adres 3'), (4, 'klient 4', '(444) 444-4444', 'adres 4'), (5, 'klient 5', '(555) 555-5555', 'adres 5'); ) AS K(KliId, Nazwa, Tel, Adres);

(c) T. Pankowski, SQL 2008 nowe

cechy

5

Typy zwizane z dat i czasem

? Cztery nowe typy wprowadzaj rozdzial midzy dat i czasem (dotd byl tylko typ DATETIME). Daje to zgodno ze standardem SQL.

? DATE: ? zajto pamici: 3 bajty ? przedzial: od 01.01.0001 do 31.12.9999, ? dokladno: 1 dzie, ? rekomendowany format: 'YYYY-MM-DD', np.: '2009-02-12'

? TIME ? zajto pamici: 3 ? 5 bajt?w ? dokladno: 100 nanosekund, ? rekomendowany format: 'hh:mm:ss.nnnnnnn', np.: '12:30:15.1234567'

? DATETIME2, dokladniejsza wersja DATETIME, daje wikszy zakres i wiksz dokladno ? zajto pamici: 6 ? 8 bajt?w ? przedzial: od 01.01.0001 do 31.12.9999, ? dokladno: 100 nanosekund, ? rekomendowany format: 'YYYY-MM-DD hh:mm:ss.nnnnnnn', np.: '2009-02-12 12:30:15.1234567'

? DATETIMEOFFSET, podobnie jak DATATIME2 z dodatkiem strefy czasowej ? zajto pamici: 8 ? 10 bajt?w ? przedzial: od 01.01.0001 do 31.12.9999, ? dokladno: 100 nanosekund, ? rekomendowany format: 'YYYY-MM-DD hh:mm:ss.nnnnnnn [+|-]hh:mm', np.: '2009-02-12 12:30:15.1234567 +02:00'

Rozszerzenie funkcji CONVERT

Nowe opcje konwersji midzy stringami znak?w a binarnymi typami danych. Trzeci parametr okrela styl konwersji. Moe nim by:

? 0 ? styl domylny, konwersja stringu znakowego do binarnej reprezentacji kod?w ASCII i na odwr?t,

? 1 ? konwersja stringu szesnastkowego do wartoci szesnastkowej i odwrotnie, cig wejciowy zawiera prefix 0x,

? 2 ? jak wyej, ale bez prefiksu 0x

SELECT CONVERT(VARCHAR(12) , 0x313637, 0) CONVERT(VARBINARY(5), '167', 0) CONVERT(VARCHAR(12) , 0x49747A696B , 1) CONVERT(VARBINARY(5), '0x49747A696B', 1) CONVERT(VARCHAR(12) , 0x49747A696B , 2) CONVERT(VARBINARY(5), '49747A696B' , 2)

AS [Bin to Char 0], AS [Char to Bin 0], AS [Bin to Char 1], AS [Char to Bin 1], AS [Bin to Char 2], AS [Char to Bin 2];

Bin to Char 0 Char to Bin 0 Bin to Char 1 Char to Bin 1 Bin to Char 2 Char to Bin 2

------------- ------------- ------------- -------------

------------- -------------

167

0x313637 0x49747A696B 0x49747A696B 49747A696B 0x49747A696B

(c) T. Pankowski, SQL 2008 nowe

cechy

6

Due rozmiary typ?w definiowanych przez uytkownika (UDT)

? typy danych do 2GB, ? typy przestrzenne:

? GEOGRAPHY ? kulista topologia ziemi (round earth topology), ? GEOMETRY ? plaska topologia ziemi (flat earth topology). ? VARBINARY(MAX) and IMAGE (bylo w SQL Server 2005)

(c) T. Pankowski, SQL 2008 nowe

cechy

8

Typ HIERARCHYID

(c) T. Pankowski, SQL 2008 nowe

cechy

9

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download