|
|
Microsoft SQL Server, Transact-SQL, Business Intelligence, CLR, ...
Browse by Tags
All Tags » T-SQL (RSS)
-
Přenastavení počítadla pro identity sloupec na 1: DBCC CHECKIDENT (MyTable, RESEED, 1) Počítadlo vyresetuje na výchozí hodnotu i TRUNCATE TABLE, který slouží pro vymazání celé tabulky. Více o DBCC CHECKIDENT [MSDN]. Read More
|
-
COALESCE() je z ANSI/ISO standardu SQL32, kdežto ISNULL() je jen T-SQL rozšíření (Microsoft SQL Serveru). ISNULL() má vlastní interpretaci, kdežto COALESCE() je pouze zkrácený zápis pro CASE strukturu a i se tak provádí: CASE WHEN (expression1 IS NOT Read More
|
-
Nezkušeného vývojáře, ale jak jsem se bohužel na vlastní oči mnohdy přesvědčil - mnohdy i velmi zkušeného vývojáře, dokáže zdrcujícím způsobem překvapit výsledek následujícího jednoduchého příkladu: CREATE TABLE TransactionTestTable ( TransactionTestID Read More
|
-
Velmi často se setkávám se zaměňováním "funkcí" @@IDENTITY a SCOPE_IDENTITY(). Obě dvě dvě představují hodnotu identity-sloupce posledního INSERTu, nicméně každý trochu jinak definovanou a v určitých případech se mohou jejich výsledky lišit. Definice Read More
|
-
Potíž je v tom, že typ (small)datetime obsahuje mimo údaje data i čas. Můžeme samozřejmě zařídit, aby naše záznamy měly tento čas 00:00, ale stejně na tento problém narazíme třeba při porovnávání s aktuálním datem u GETDATE(), které je včetně času. Můžeme Read More
|
-
Celkem jednoduchý fígl pro výběr náhodného záznamu z tabulky SELECT TOP 1 Sloupec FROM Tabulka ORDER BY NEWID () Generátor NEWID() nám náhodnost. Funkci RAND() lze nelze použít, protože její opakované volání dává stejné hodnoty, např. SELECT RAND (100), Read More
|
-
Pekelně dlouho jsem se kdysi namordoval s hláškou "Incorrect syntax near '[Jmeno.Assembly]'.", kterou mi SQL2005 server hlásil na příkaz CREATE TYPE dbo.JmenoTypu EXTERNAL NAME [Jmeno. Assembly ].[Namespace.Namespace. Type ] Protože jsem to tehdy dělal Read More
|
-
Na pole referenčních typů ntext, text, apod. nejde použít řetězcovou funkci LEN(expr) , funguje však DATALENGTH (expr) které vrátí velikost v bytech (u Unicode položek je to dvojnásobek počtu znaků). Read More
|
-
Pokud potřebujeme stránkovat záznamy na straně SQL, můžeme to udělat pomocí jedné z nových funkcí SQL2005: USE AdventureWorks WITH Rows AS ( SELECT *, ROW_NUMBER() OVER ( ORDER BY ProductID) AS RowNumber FROM Production.Product ) SELECT * FROM Rows WHERE Read More
|
-
Datové typy ntext , text a image budou z budoucích verzích Microsoft SQL Serveru odstraněny. Doporučuje se tedy místo nich používat nové typy nvarchar(MAX) , varchar(MAX) a varbinary(MAX) . Read More
|
-
Kromě klasické sp_who má MSSQL server (tuším 7.0+) ještě nedokumentovanou proceduru sp_who2 , která kromě základní informací z sp_who (ne všech!) přidává ještě několik dalších podrobností o aktuální uživatelské aktivitě. Jako nedokumentovaná procedura Read More
|
-
COUNT(*) dává počet všech řádek COUNT(col) dává počet řádek, které mají hodnotu sloupce col jinou než NULL Read More
|
-
Příkaz TRUNCATE TABLE vyprázdní tabulku a má tak efekt podobný příkazu DELETE (bez omezujících podmínek). Ve skutečnosti je však jejich funkce dosti odlišná. TRUNCATE TABLE je ale rychlejší, používá méně systémových prostředků a méně prostředků transakčního Read More
|
-
Pomocí explicitního nastavení collation lze jednoduše udělat vyhledávání nezávislé na diakritice a velkých/malých písmenech: SELECT 'Ano!' WHERE ( 'ABCacžžzř' COLLATE Latin1_General_CI_AI LIKE 'abcáčžzžr' COLLATE Latin1_General_CI_AI) Celý tento způsob Read More
|
-
Když neznáme přesnou strukturu výsledku stored procedury, nemůžeme použít CREATE TABLE a INSERT ... EXEC. Dá se to obejít pomocí OPENQUERY: exec sp_serveroption [SERVER_NAME] , 'data access' , 'true' SELECT * INTO #W FROM OPENQUERY ([SERVER_NAME], 'exec Read More
|
|
|
|