Archiwum dla kategorii ‘SQL’

Jaka jest różnica między SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED a Query Hint NOLOCK?

2011-02-20

Na poziomie połączenia z serwerem SQL można zadeklarować tzw. Transaction Isolation Level. Zależnie od wybranego poziomu transakcje dokonują blokad przy odczycie rekordów lub nie i czytając uwzględniają albo ignorują inne nałożone na rekordy blokady. Najsłabszym poziomem izolacji transakcji jest READ UNCOMMITTED. Jeżeli w swoim skrypcie na początku zapiszesz: SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; GO […]

By Rafał Kraik in SQL

Jak znaleźć w zapytaniu SQL drugi rekord z kolei w rankingu?

2011-02-19

Wiele przykładów pokazuje największą wartość albo najwcześniejszą datę, albo najniższy wskaźnik itp. A jak odnaleźć drugą wartość!? Jak ustalić który produkt był w ramach jednego dużego zakupu kupowany jako drugi? Jak znaleźć drugą co do wartości wielkość zakupu?

By Rafał Kraik in Humor, SQL

Tutorial – Działający przykład Service Brokera (MS SQL 2008)

2011-02-19

Serwis broker pozwala na pewne przesyłanie danych między różnymi bazami danych, instancjami, czy nawet serwerami. Poszerza on więc możliwości serwera SQL o możliwość niezawodnego przekazywania informacji poza serwer. Samo przekazywanie danych opiera się o odpowiednie protokoły sieciowe i dostęp uzyskany do ENDPOINT-ów na serwerach. W poniższym przykładzie zademonstruję działanie Service Brokera w obrębie jednej tylko […]

By Rafał Kraik in SQL

Wyszukanie pierwszego i kolejnych wystąpień znaku w napisie w T-SQL

2011-02-19

Kursant zapytał mnie dziś: Jak wyświetlić w SQL pozycje wszystkich znaków ‘-‘ w polu tabeli. Czyli jeżeli mam napis ABC-DEF-GHIJ-KL, to chcielibyśmy znaleźć pozycję znaku ‘-‘  w danym napisie, a następnie znaleźć jego dalsze wsytąpienia: 4,8, 13. Pierwsze próby opierały się na składaniu funkcji CHARINDEX: SELECT CHARINDEX(’-’,’tekst-z-myslnikami’, 1) AS x1, CHARINDEX(’-’,’tekst-z-myslnikami’, CHARINDEX(’-’,’tekst-z-myslnikami’, 1)+1) AS x2

By Rafał Kraik in SQL

Opcje dostępu do bazy danych dla użytkowników SINGLE_USER, MULTI_USER, RESTRICTED_USER (db user access options)

2011-02-13

Opcje dostępu użytkowników do bazy danych kontrolują, kto może korzystać z bazy danych. Używa się ich zwłaszcza podczas wykonywania prac administracyjnych na bazach danych. Ot po prostu, kiedy chcesz coś zrobić, a się nie da, bo są zalogowani inni użytkownicy, masz szansę ich wyrzucić i zostać jedynym władcą swojej bazy danych. Ale po kolei. Owe […]

By Rafał Kraik in SQL

Przykładowa baza danych do nauki SQL (AdventureWorks)

2011-01-17

Pod adresem http://msftdbprodsamples.codeplex.com/ można znaleźć darmowe przykładowe bazy danych, na których można poćwiczyć pracę z SQL. Bazy są na bieżąco aktualizowane pod konkretne wydania SQL Server. Chcesz zobaczyć, jak zainstalować przykładową bazę danych AdventureWorks? Zajrzyj do darmowego filmu – części Kursu „SQL #1 Instalacja i narzędzia„. Odszukaj na stronie film: „Przykładowa lekcja: Instalacja przykładowej bazy danych […]

By Rafał Kraik in SQL

Pobieranie danych z tabeli o dynamicznej nazwie (Dynamic SQL lub funkcja zwracająca tabelę)

2011-01-17

Załóżmy, że w bazie danych mamy tabele o nazwach Total2001, Total2002, Total2003 itd. Generalnie nazwa tabeli utworzona jest poprzez złączenie (sklejenie) słowa ‘Total’ i roku. Załóżmy też, że naszym zadanie  jest regularne tworzenie skomplikowanych procedur lub zapytań, które w zależności od warunków powinny pracować bądź na jednej, bądź na innej tabeli. W naszym przypadku popracujemy […]

By Rafał Kraik in SQL