SQL Server

Zakázání a povolení všech constraintů nad tabulkou

Při práci s tabulkami, které mají cizí klíče zajišťující integritu dat, často řešíme problém, jak tyto klíče a jiná omezení dočasně vypnout, abychom mohli například provést změnu dat v tabulce, rychlý import velkého množství dat či manipulaci s jinou tabulkou,…
T-SQL

Odstranění času nebo datumu z DATETIME datového typu

Velmi často se stává, že při práci s DATETIME datovým typem nás nezajímá informace o čase, ale pouze datum. Před příchodem SQL 2008 neexistovaly samostatné datové typy pro ukládání pouze datum nebo pouze času (DATE, TIME) a pokud byl v datetime…
T-SQL

Spojování Common Table Expressions

Common Table Expressions (CTE), dočasné pojmenované sety, představují mocný nástroj pro řešení nejrůznějších situací. Kromě jejich nejběžnějšího použití v případě, kdy potřebujeme rekurzivně procházet množinu dat, patří k jejich další zajímavé silné vlastnosti možnost spojování více CTE za sebou. V…
T-SQL

Conversion of some values to BIT

Converting numeric values looks like to be intuitive but it can still surprise you. Doing conversion from various different data types means that every value which isn’t 0 (zero) will be converted as TRUE. And that’s not something you will…
T-SQL

Mazání dat pomocí sp_MSForEachTable

Pomocí nedokumentované procedury sp_MSForEachTable můžeme spouštět dotazy a operace nad všemi tabulkami v databázi. Že je procedura nedokumentovaná znamená, že není zmíněna v SQL Server dokumentaci (BOL) a je oficiálně určena pouze k internímu použití. Na druhou stranu je procedura…
T-SQL

Výpis adresářů z T-SQL

Pokud potřebujeme vypsat v T-SQL seznam adresářů, případně souborů na disku, máme tyto základní možnosti: extended proceduru xp_dirtree, DOS příkazy pomocí xp_cmdshell, CLR nebo OLE (OAAutomation objekty). Dnes se povídáme na možnosti, které nám poskytuje xp_dirtree a xp_cmdshell.
SQL Server

sp_get_query_template

Systémová procedura sp_get_query_template je nenápadný, ale velmi užitečný pomocník. Primárně je sice určena pro vytváření šablon dotazu pro plan guidy, ale stejně tak dobře ji můžeme využít pro scénář, kdy máme rozsáhlé query s řadou parametrů a z nějakého důvodu…
T-SQL

Spouštění skriptů ze souboru

Spouštět sql skripty uložené například v adresáři na disku je poměrně častý úkol a my si ukážeme dva jednoduché způsoby jak na to: pomocí OPENROWSET() funkce a pomocí SQLCMD Mode nastavení Sql Server Management Studia.
SQL Server

Nedokumentované uložené procedury

Každá edice SQL Serveru zahrnuje množství uložených a extended procedur, které nejsou zmíněny v oficiální dokumentaci, což znamená především to, že jsou určeny pouze pro interní potřebu Microsoftu a mohou být kdykoliv změněny nebo odstraněny. Přesto je spousta z nich…
T-SQL

LIKE: ESCAPE a COLLATE

Jak používat klauzuli LIKE ví asi každý. Ale u mladších kolegů se často setkávám s tím, že si neumí poradit s jejím využitím v prostředí s různými kolacemi a nebo nevědí, jak dosáhnout správného výsledku v případě, že hledají řetězec,…