Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Radek Špinka Přepínače MSSQL výběr.

Podobné prezentace


Prezentace na téma: "Radek Špinka Přepínače MSSQL výběr."— Transkript prezentace:

1 Radek Špinka Přepínače MSSQL výběr

2 GO značí konec dávky T-SQL příkazů nástrojům SQL serveru, které zajistí její vykonání není to příkaz T-SQL, je to příkaz sqlcmd,nebo oqsl , SQL Server MSC editoru nesmí být na stejné řádce jako T-SQL příkaz

3 Case sensitivita v DB se dá zjistit, dle Serverové proměnné Collation – vyjadřuje řazení znaků, jazykové nastavení nastavuje se při vytváření nové databáze Vyčtení : SELECT SERVERPROPERTY ('Collation') GO Eg : Czech_CI_AS – kde : CI = case insensitive, CS = case sensitive AI = accent insensitive, AS = accent sensitive

4 Uvozovky Pokud je přepínač QUOTED_IDENTIFIER(viz dále) nastaven na OFF lze uzavřít konstanty do obou typů uvozovek(tzn. “” nebo ’’), jinak lze použít jen jednoduché uvozovky Apostrof v literálu : ‘O’’Reilly’ odpovídá O’Reilly

5 SET Umožňuje měnit obsah lokální proměnné, u. def. vlastnosti, u. def. veřejné pole,…. Nastavuje specifické informace pro současnou session – přepínače

6 Dělení Přepínačů Date and time statements Locking statements
Miscellaneous statements Query Execution Statements ISO Settings statements Statistics statements Transactions statements

7 Date and time statements
SET DATEFIRST { number } nastaví první den v týdnu od 1 do 7, kde 1 Pondělí a 7 Neděle, Default je 7 pro U.S English

8 Příklad DATEFIRST SET DATEFIRST 7;
SELECT CAST(' ' AS datetime) AS SelectDate ,DATEPART(dw, ' ') AS DayOfWeek; -- 1. Leden, 1999 je pátek. Protože U.S. English obecně -- používá Neděli jako první den v týdnu, funkce DATEPART -- vrací hodnotu 6, Protože pátek je šestý den v týdnu -- když týden začíná Nedělí a její hodnota je 1. SET DATEFIRST 3; -- Jelikož středa je nyní považována za první den v týdnu -- DATEPART nyní vrací, že (Pátek) je třetí den v týdnu. GO

9 Locking statements SET LOCK_TIMEOUT timeout_period
nastaví dobu, po kterou se čeká na uvolnění zámku (ms)

10 Miscellaneous statements
SET QUOTED_IDENTIFIER { ON | OFF } identifikátory mohou být uzavřeny v složených závorkách a literály musí být uzavřeny jednoduchými uvozovkami ON INSERT INTO dbo."Test" VALUES (7, 'Text with a single '' quote') OFF INSERT INTO dbo.Test VALUES (7, "Text with a single ' quote")

11 ON - Umožnuje vložit explicitní hodnoty do identitních sloupců tabulky
SET IDENTITY_INSERT [ database_name . [ schema_name ] . ] table { ON | OFF } ON - Umožnuje vložit explicitní hodnoty do identitních sloupců tabulky Právě jedna tabulka v session může mít tuto vlastnost nastavenou na ON

12 Příklad IDENTITY_INSERT

13 Query Execution Statements
SET PARSEONLY { ON | OFF } pokud je ON tak se nevykonávají příkazy, jen se provede syntax check

14 ISO Settings statements
SET ANSI_NULLS { ON | OFF } Specifikuje chování operátorů rovnosti(=) a nerovnosti(<>) dle ISO, když jsou používány na hodnotě NULL

15 SET ANSI_NULLS ON Všechna porovnání proti hodnotě NULL se vyhodnotí jako UNKNOWN Příkaz select, který používá WHERE nazev_sloupce = NULL vrací 0 řádků i když jsou zde null hodnoty ve sloupci nazev_sloupce. Příkaz select, který používá WHERE nazev_sloupce <> NULL vrací 0 řádků i když jsou zde nonnull hodnoty ve sloupci nazev_sloupce.

16 SET ANSI_NULLS OFF všechna porovnání proti hodnotě NULL se vyhodnotí jako TRUE pokud je hodnota NULL operátory rovnosti a nerovnosti se nedrží standartu ISO Příkaz select, který používá WHERE nazev_sloupce = NULL vrací řádky které mají null hodnoty ve sloupci nazev_sloupce Příkaz select, který používá WHERE nazev_sloupce <> NULL vrací řádky s nonnull hodnotami ve sloupci nazev_sloupce. Takže, příkaz SELECT s klauzulí WHERE nazev_sloupce <> hodnota_XYZ vrací všechny řádky, které nejsou rovny hodnota_XYZ a nejsou NULL

17 Příklad ANSI_NULLS Mějme tabulku test se dvěma sloupci:
ID Int primary key,Nazev nchar(10) NULL. Naplněnou daty: ID Nazev 1 Ahoj 2 NULL

18 Příklad SET ANSI_NULLS ON
Dotaz : select * from test where Nazev = NULL Výsledek: ID Nazev 0 řádků Dotaz : select * from test where Nazev <> NULL Výsledek: ID Nazev 0 řádků

19 Příklad SET ANSI_NULLS OFF
Dotaz : select * from test where Nazev = NULL Výsledek: ID Nazev 2 NULL Dotaz : select * from test where Nazev <> NULL Výsledek: ID Nazev 1 Ahoj

20 SET ANSI_NULLS { ON | OFF }
v budoucí verzi MS SQL Serveru bude tato hodnota vždy ON a pokus o nastavení na OFF vyhodí chybu

21 Statistics statements
SET STATISTICS TIME { ON | OFF } ON – zobrazí počet milisekund potřebných k rozboru, kompilaci, a výkonu každého příkazu v okně Messages

22 Transactions statements
SET TRANSACTION ISOLATION LEVEL { READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SNAPSHOT | SERIALIZABLE } [ ; ] nastaví úroveň izolace transakcí

23 Čtení nastavení Přepínačů
SELECT GO

24 Nastavení Query Na dalších dvou slidech je zobrazeno jak nastavit přepínače pro celý dotaz

25

26

27 Konec Použitá literatura :


Stáhnout ppt "Radek Špinka Přepínače MSSQL výběr."

Podobné prezentace


Reklamy Google