W tym wpisie omówię pokrótce na przykładach działanie opcji .WRITE w poleceniu UPDATE. Ogólna składnia wspomnianej klauzuli jest następująca:
.WRITE (expression,@Offset,@Length)
Na początek zwracam uwagę, że polecenie .WRITE współpracuje z kolumnami typu varchar(max), nvarchar(max), varbinary(max).
Na potrzeby szkoleniowe utwórzmy sobie tabelę i wprowadźmy do niej przykładowe dane
CREATE TABLE Test01 (
Id INT PRIMARY KEY NOT NULL,
Tekst varchar(max) NOT NULL
);
INSERT INTO Test01 (Id, Tekst) VALUES (1, 'To jest nasz testowy tekst');
Sprawdźmy aktualną zawartość tabeli:
SELECT * FROM Test01
Wykonajmy UPDATE z użyciem .WRITE, który spowoduje dodanie tekstu "TEN TEKST ZOSTANIE DODANY NA POCZĄTKU" na początku wyrażenia "To jest nasz testowy tekst", gdzie 0 jako wartość @Offset oznacza, że wprowadzamy tekst na początku wyrażenia., z kolei 0 jako parametr dla @Length oznacza, że wstawiamy dodatkowy tekst, a nie zastępujemy istniejący.
UPDATE Test01 SET Tekst .WRITE ('TEN TEKST ZOSTANIE DODANY NA POCZĄTKU ',0,0) WHERE Id = 1;
Sprawdźmy aktualną zawartość tabeli:
SELECT * FROM Test01
W kolejnym przykładzie dodajmy tekst na końcu istniejącego wyrażenia. Służy do tego NULL jako wartość @Offset i wówczas zawartość pola @Length nie jest sprawdzana.
UPDATE Test01 SET Tekst .WRITE (' TEN TEKST ZOSTANIE DODANY NA KOŃCU',NULL,0) WHERE Id = 1;
Wyświetlmy aktualną zawartość tabeli:
SELECT * FROM Test01
W ostatnim ćwiczeniu, słowo "ten" o długości 3 znaków na pozycji 65 zastąpimy na rzecz "tamten"
UPDATE Test01 SET Tekst .WRITE ('tamten',65,3) WHERE Id = 1;
I zobaczymy bieżącą zawartość tabeli:
SELECT * FROM Test01
Brak komentarzy:
Prześlij komentarz