Archiwum za rok 2011

Dynamiczne tabele przestawne w SQL (Pivot Table, Dynamic SQL)

2011-04-04

Uwaga! ten artykuł mówi o bardziej zaawansowanych, dynamicznych tabelach przestawnych. Jeżeli interesują Cię raczej podstawowe informacje o tym jak zrobić tabelę przestawną w SQL, to zajrzyj raczej do tego artykułu, a potem możesz zajrzeć znowu tutaj. Język SQL posiada możliwość budowania tabel przestawnych. Zazwyczaj użytkownicy korzystający z tabel przestawnych preferują korzystanie ze specjalistycznych narzędzi analitycznych, […]

By Rafał Kraik in SQL

Sięganie do pliku Excel z SQL

2011-04-03

Jak czytać imodyfikować pliki excela z poziomu SQL? Można to zrobić za pomocą tzw. linked servers. Przejdź do Server Objects i utwórz nowy linked server:

By Rafał Kraik in SQL

Parsowanie kolumny SQL za pomocą CTE

2011-04-02

Załóżmy, że w kolumnie przechowywana jest lista napisów np imion porozdzielana przecinkami. Chcielibyśmy jedną komendą SQL parsować ten napis i wyłuskać z niego imiona, zwracając je w postaci tabeli. W tym artykule o tym jak można to zrobić bez pisania procedur czy funkcji, ale z wykorzystaniem CTE.

By Rafał Kraik in SQL

Usuwanie podwójnych spacji z tekstu metodami języka SQL

2011-04-02

Załóżmy, że w tabeli w danej kolumnie mamy zapisany ciąg znaków, jednak z jakiegoś powodu w tekście pojawiają się podwóje spacje (lub inne podwójne znaki). Jak ich się pozbyć przy pomocy metod dostępnych w języku SQL?

By Rafał Kraik in SQL

ALTER TABLE i SET LOCK_ESCALATION

2011-03-20

Aparat bazy danych blokując dane dla transakcji może to robić z dokładnością do rekordu, strony, partycji, tabeli. Opcja  LOCK_ESCALATION określa jak ma się odbywać eskalacja blokad na poziom tabeli, gdy tabela jest partycjonowana.

By Rafał Kraik in SQL

Opcja set XACT_ABORT ON lub OFF

2011-03-20

Czy zastanawiałeś się kiedyś, co się stanie, jeżeli wykonując ciąg instrukcji w ramach transakcji doprowadzisz do błędu? Czy transakcja się wykona opuszczając tę pojedynczą nieudaną instrukcję, czy też wycofa wszystkie operacje wykonywane w ramach transakcji? Reguluje to opcja XACT_ABORT.

By Rafał Kraik in SQL

Jak działa TRANSACTION ISOLATION LEVEL SERIALIZABLE?

2011-03-13

W normalnych warunkach, czyli z ustawieniami domyślnymi każdy zapis nakłada na czas transakcji blokadę EXCLUSIVE czyli na wyłączność. Odczyty natomiast nakładają tzw. SHARE LOCK, czyli blokadę dzieloną. Na danym rekordzie może istnieć kilka SHARE LOCK, ale tylko jeden EXCLUSIVE LOCK. Jeżeli rekord ma nałożoną blokadę EXCLUSIVE, to nie można nałożyć na niego blokady SHARED. Takie […]

By Rafał Kraik in SQL