Przydatny selektor

Mowa tutaj o uniwersalnym selektorze jakim jest gwiazdka. Przykład użycia:

*
{
    margin: 0px;
}

Powoduje on, że wszystkie elementy występujące w dokumencie będą miały zerowe marginesy. Używam go, gdy chcę zapanować nad wszystkimi elementami i nie mieć nieoczekiwanych różnic w odstępach między przeglądarkami.

Przykładowo elementy takie jak paragraf czy formularz same dodają sobie odstępy. Selektor może również zawierać ustawienia dotyczące czcionki, ramek itp. Oczywiście kolejnymi stylami można nadawać dowolne odstępy na dowolnych elementach i tym samym nadpisać ustawienia dokonane tym selektorem.

Nazwa tabeli jako parametr w procedurze składowanej

Załóżmy, że potrzebujemy procedurę składowaną, która w zależności od zadanego parametru wyciągnie dane z tabeli podanej jako argument do procedury składowanej.
Na pierwszy rzut oka wyglądałoby, że wystarczy utworzyć procedurę postaci::

CREATE PROCEDURE getDataFromTable
@TName nvarchar(100)
AS
BEGIN
    SELECT * FROM @TName
END

@TName to argument wejściowy będący nazwą tabeli.
Jednak ta procedura spowoduje błąd postaci: Must declare the table variable „@TName”
Rozwiązanie tego problemu leży właśnie w dynamicznym SQL:)
Zatem powyższa procedura powinna mieć postać:

CREATE PROCEDURE getDataFromTable
 
@TName nvarchar(100)
AS
BEGIN
    DECLARE @query nvarchar(1000)
    SELECT @query = 'SELECT * FROM '
    SELECT @query = @query + @TName
    EXEC(@query)
END

Nazwa tabeli nadal pozostaje argumentem wejściowym. Dodatkowo w kodzie SQL-a tworzymy zmienną @query, w której umieszczamy potrzebne nam zapytanie.

Działa tylko pod Operą

Jak uzyskać kod postaci:

<div id="title">Tytuł jakiś</div>

za pomocą CSS? Jest na to ciekawy sposób, który działa niestety tylko pod Operą – mam wersję 9.23. Pod IE6 i FF 2.0.0.8 niestety nie:( Ale wracając do sposobu, to można to zrobić następująco:

<div id="title"></div>

Jak widać, pozbyłam się tekstu, który znajdował się w divie.
Zamiast tego włożę go do… stylu:)

#title
{
    content:Tytuł jakiś
}

We wspomnianej już Operze wyświetlone zostanie na ekranie po prostu Tytuł jakiś. Jednym słowem div o id #title zostanie wypełniony tekstem podanym we właściwości content:)

Różnica między TRUNCATE a DELETE

Oba usuwają wiersz z tabeli – TRUNCATE wszystkie, DELETE dowolnie wybrane przez użytkownika. Główna i najważniejsza różnica to, że TRUNCATE jest szybszy od DELETE, a zawdzięcza to temu, że nie zapisuje każdej operacji usunięcia w logach. Natomiast DELETE loguje wszystkie zmiany, przez co jest wolniejszy.
Mały update jeszcze:
Jeśli na jakimś polu mamy autoincrement, to po TRUNCATE indeks ten zostanie zresetowany i nowe rekordy będą numerowane od 1. Natomiast po użyciu DELETE resetu nie będzie.

Coś co jest w T-SQL a nie ma w czystym SQL

Jest tym mianowicie operator porównania jakim jest !=. W zwykłym SQL możliwe jest użycie tylko <>. Natomiast w T-SQL obu wymienionych.