Operacje DML w Transact-SQL

Jak wykonywać operacje DML w Transact-SQL?

Operacje DML takie jak Insert, Update, Delete możesz wykonywać także z użyciem Transact-SQL. Różnica w porównaniu do zwykłego SQL’a polega na tym, że możemy korzystać np ze zmiennych. Polecenia DML ujmujemy w bloku kodu pomiędzy frazami BEGIN i END. Do pokazania przykładów stwórz tabelę, wg. poniżej zapisanego kodu:

Create table TbTest (id int identity(1,1),
MyValue1 nvarchar(255),
MyValue2 nvarchar(255),
date datetime2 default getdate()
);

W kolejnych będziemy wykonywali przykłady operacji DML na podstawie powyższej tabeli. Warto zaznaczyć, że dokładnie  w ten sam sposób możesz wykonywać operacje na zmiennej tabelarycznej.

Polecenie Insert w T-SQL

Ok, tabela jest już gotowa. Korzystając ze składni Transact-SQL dodajmy przykładowe dane do wcześniej utworzonej tabeli. Uzupełniamy jedynie dwie kolumny o nazwach MyValue1 i MyValue2, gdyż pozostałe kolumny uzupełniają się samoczynnie.

--tomaszkenig.pl
BEGIN
   INSERT INTO TbTest (MyValue1, MyValue2) VALUES ('France','Paris');
   INSERT INTO TbTest (MyValue1, MyValue2) VALUES ('USA','New York');
   INSERT INTO TbTest (MyValue1, MyValue2) VALUES ('Australia','Sydney');
END;

select * from TbTest;
Kurs SQL Server - Insert w T-SQL
Kurs SQL Server – Insert w T-SQL

W dalszej kolejności rozbudujmy nasz blok kodu. Utwórzmy zmienne tekstowe o nazwach @varCountry i @varCity. Przypiszmy do nich wartości Germany i Berlin. Wykonajmy kolejne polecenie Insert SQL, tym razem z użyciem zmiennych T-SQL.

--tomaszkenig.pl
DECLARE @varCountry varchar(50)='Germany';
DECLARE @varCity varchar(50)='Berlin';

BEGIN
   INSERT INTO TbTest (MyValue1, MyValue2) VALUES (@varCountry,@varCity);
END;

select * from TbTest;
Kurs SQL Server - Insert w Transact-SQL
Kurs SQL Server – Insert w Transact-SQL

W ten sposób wykonaliśmy Insert do tabeli SQL Server bezpośrednio ze zmiennych T-SQL.

Update w Transact-SQL

Podobnie jak polecenie Insert, możemy użyć polecenia SQL Update do modyfikacji już istniejących. Podobnie jak w poprzednim przypadku Stwórzmy 2 zmienne tekstowe T-SQL o nazwach @varCountry i @varCity. Przypiszmy do nich wartości Poland i Warsaw. Wykonajmy kolejne polecenie Update, z użyciem zmiennych T-SQL.

DECLARE @varCountry varchar(50)='Poland';
DECLARE @varCity varchar(50)='Warsaw';

BEGIN
   UPDATE TbTest 
      SET MyValue1=@varCountry ,MyValue2=@varCity 
      WHERE MyValue1='Germany';
END;

select * from TbTest;
Kurs SQL Server - Update w Transact-SQL
Kurs SQL Server – Update w Transact-SQL

Polecenie Delete w Transact-SQL

Podobnie jak w przypadku poleceń Insert i Update, możemy też korzystać z polecenia SQL Delete, łącząc SQL i Transact-SQL. Poniżej prosty przykład, w którym tworzymy 2 zmienne i na tabeli z poprzednich przykładów usuwamy rekordy o id równych 2 i 3.

--tomaszkenig.pl
DECLARE @Id1 int = 2;
DECLARE @Id2 int = 3;
BEGIN
   DELETE FROM TbTest WHERE ID IN (@Id1, @Id2);
END;

select * from TbTest;
Kurs SQL Server - Delete w Transact-SQL
Kurs SQL Server – Delete w Transact-SQL

Ten artykuł jest częścią szkolenia T-SQL, które zamieszczam pod tym adresem: kurs T-SQL. Możesz także skorzystać z całego kursu dotyczącego SQL Server, który zamieszczam tutaj: Kurs SQL Server.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *