23 czerwca 2014

[MSSQL]Użycie CTE - Common Table Expression

CTE – podstawy

CTE to nazwane zapytanie reprezentujące tymczasowy zestaw rekordów definiowany w zasięgu jednego polecenia SELECT, INSERT, UPDATE lub DELETE. Składniowo CTE przypomina podzapytanie w z języka Transact-SQL lub elementy obliczane z języka MDX.
Składnię CTE łatwo rozpoznać po charakterystycznym słowie WITH. Słowo to jest w języku Transact-SQL wykorzystywane między innymi do podawania wskazówek (ang. hint) dla optymalizatora lub do deklarowania przestrzeni nazw XML (klauzula WITH XMLNAMESPACES).

Sposób użycia:

USE AdventureWorks;
GO
WITH MojePierwszeCTE AS (
SELECT Name
FROM HumanResources.Department
)
SELECT * FROM MojePierwszeCTE;

Więcej na temat użycia CTE znajdziesz tutaj.

19 maja 2014

[MSSQL] Tworzenie kalendarza w SQL

Szukając rozwiązania utworzenia kalendarza w SQL-owym MSSQL znalazłem coś takiego:

IF EXISTS (SELECT * FROM information_schema.tables 
WHERE
Table_Name = 'Calendar' AND Table_Type = 'BASE TABLE') BEGIN DROP TABLE [Calendar] END CREATE TABLE [Calendar] ( [CalendarDate] DATETIME ) DECLARE @StartDate DATETIME DECLARE @EndDate DATETIME SET @StartDate = GETDATE() SET @EndDate = DATEADD(d, 365, @StartDate) WHILE @StartDate <= @EndDate BEGIN INSERT INTO [Calendar] ( CalendarDate ) SELECT @StartDate SET @StartDate = DATEADD(dd, 1, @StartDate) END

[MSSQL]Optymalizacja zapytań SQL

Mam nadzieję że spodoba wam się krótki filmik dotyczący optymalizacji SQL dla baz MSSQL prowadzącego przez pana Michała Maca.
Poniżej link do YouTube:

http://youtu.be/lxdDg2F0hfs