Archív rubriky: SQL příkazy

V rubrice SQL Příkazy jsou sdruženy články zaměřené na sql dotazování. Každý článek je věnován nějakému zajímavému SQL příkazu nebo kódu vykonávajícímu nějakou činnost např. jak udělal cyklus (loop), jak udělat hierarchii, CTE apod.

Nejčtenější z kategorie

Top 10 pokročilých T-SQL příkazů pro vývoj v SQL Serveru

Tento článek je seznamem příkazů a technik pro práci se SQL Serverem, které jsou rutinní součástí práce zejména pokročilých vývojářů v T-SQL. Pokud vás zajímají spíše základy SQL tak doporučuju rozcestník s návody SQL. Na většinu níže uvedených příkazů existuje tady na webu článek s detailním popisem, příkladem a screenshoty. STRING_SPLIT s parametrem “ordinal” pro… Čtěte více »

SQL | SEQUENCE (Generování ID) a nastavení CACHE

Pro generování ID (primárních klíčů) v aplikačních databázích nebo primárních klíčů – surrogate key  v datových skladech existuje řada přístupů. Většinou jsou používány GUIDy nebo numerická ID. Guidy jsou používány hlavně v aplikačních databázích a jsou generovány například pomocí funkce NEWID(). To má své výhody a nevýhody. Největší nevýhodou je výkon sql dotazů, protože generování GUID… Čtěte více »

SQL THROW zavolání výjimky – alternativa k RAISERROR a rozdíly

Před časem jsem zde na webu zveřejnil článek o RAISERROR příkazu, který vyvolá exception s tím, že jsme schopni přes severity (závažnost) ovlivnit, jestli skript bude nebo nebude pokračovat dále. Příkaz THROW je alternativní příkaz, který byl poprvé uveden v rámci SQL Server 2012. Syntaxe THROW v SQL Server Syntaxe je v porovnání s RAISERROR… Čtěte více »

SQL RAISERROR – Jak zavolat ve skriptu error a přerušit skript

V určitých situacích potřebujeme uvnitř SQL skriptu zavolat chybu a skript přerušit. Typickým případe je třeba nesplnění nějakého data quality checku nebo potřeba zavilat příkaz uvnitř BEGIN /END TRY BEGIN/END CATCH konstrukce. V podobných případech můžeme použít příkaz RAISERROR nebo novější příkaz THROW. V tomto článku se podíváme na první zmíněný příkaz. Příkaz THROW je jednodušší.… Čtěte více »

SQL Přehledně zformátovaný kód

Každý ví, že by to měl dělat, ale málokdo to skutečně dělá. Řeč je formátování sql kódu a jeho přehlednosti. Zejména ve větších týmech dokážou pravidla ohledně formátování zjednodušit a zefektivnit práci. Mnohdy i o několik desítek procent/mnoho man days v případě revizí/úprav kódu a refaktoringu kódu. Proč je správně naformátovaný kód důležitý Každý kód… Čtěte více »

SQL Synonym – alternativní název objektu v databázi

SQL Synonym je příkaz, který je v SQL Server již od verze SQL Server 2005. Tato funkce slouží k tomu, že můžeme vytvořit referenci (alternativní jméno) na objekt v jeho kompletní cestě – four part name, tedy [Server].[Databáze].[schéma].[objekt]. To je velmi pohodlné, protože nemusíme tolik psát a je to i výhodné pokud pracujeme v databázi,… Čtěte více »

SQL IDENTITY (Auto increment) – Automatické zvýšení hodnoty, popis argumentů příkazu

IDENTITY je v SQL Server tabulce vlastnost atributu (sloupce), která umožňuje automatické číslování záznamů, které jsou vkládány do tabulky. Vytváříme tak automatický inkrement s jedinečnými hodnotami bez toho abychom museli vkládat do tabulky číslo ručně. Tuto funkci lze využít na číselné datové typy a typické využítí je pro identifikátory a primární klíče. K automatickému číslování lze… Čtěte více »

SQL Schema databáze – Užitečné skripty

Databázové schéma je prostor (kontejner), který sdružuje databázové objekty – tabulky, pohledy, procedury, atd. Primárním důvodem pro zakládání schémat je logické oddělení určitých objektů od jiných a možnost upravovat přístupová práva pro jednotlivá schémata uživatelům. CREATE a DROP SQL Database schema 1) Vytvoření SQL schéma: CREATE SCHEMA trzby; 2) Založení SQL schématu s ověřením existence:… Čtěte více »

SQL Cursor – Ukázka jak funguje SQL kurzor (loop, cyklus)

Kurzor (loop nebo cyklus) je kus kódu, který se souští stále dokola dokud není splněna určitá podmínka vedoucí k jeho ukončení. Pokud cyklus neuzavřeme tak pojede donekonečna. Je to obecně celkem pomalá operace a měly by se používat zřídka – pokud existuje jiná možnost. Často jde úloha řešit bez kurzoru (rekurzivním dotazem, cross joinem, pomocnou tabulku,… Čtěte více »

SQL View WITH SCHEMABINDING – hlídací pes nad view

Dříve jsem napsal větší článek, vé kterém jsem popisoval jak založit View v sql. V tomto článku se nenápadně nachází jeden SQL příkaz, který bych chtěl více objasnit zde. Jde o příkaz SCHEMABINDING, který se používá při založení view. SCHEMABINDING si můžeme představit jako hlídacího psa. Ten kontroluje, jestli v podkladové tabulce nedochází ke změnám,… Čtěte více »