Definiowanie zmienych użycie IF ELSE


W kursie tym poruszę podstawowe zagadnienie programowania w t-sql. Pokażę jak deklarować zmienne oraz wykorzystać je w kwerendzie oraz w procedurze t-sql. Przykład pokaże również jak użyć instrukcji warunkowych IF oraz ELSE.

Zastosowanie zmiennych
  • Do przekazywania parametrów funkcją i procedurą

  • Do kontrolowania przebiegu pętli

  • Sterowania przebiegiem programu


Zmienne w t-sql są lokalnymi dlatego też są widoczne w obrębie zapytania lub procedury. Zmienne deklarujemy używając polecenie DECLARE przed nazwą zmiennej koniecznie musimy umieścić @. Zmienne możemy deklarować typu scalar lub table.
DECLARE @d int
DECLARE @d table(id int, nazwa nvarchar(10))



DECLARE @C INT, @Xy Decimal(10,2), @Y bit, @Z CHAR(10)

Aby nadać zmiennej wartość używamy polecenia SET lub SELECT
DECLARE @i int
SET @i = 1
SELECT @i = 1
SELECT @1

Kod powyżej pozwoli nadać wartość zmiennej @i a następnie ją wyświetlić. Możemy przypisać również wartość z wyniku zapytania:
DECLARE @ROW int
SELECT @ROW=COUNT(*) from dbo.spt_values
select @ROW
go
DECLARE @ROW int
SET @ROW=(SELECT COUNT(*) from dbo.spt_values)
select @ROW
go

Powyższy przykład przedstawia również zasięg zmiennych usunięcie znaku końca polecenia go spowoduje zwrócenie błędu.

W kwerendach w t-sql możemy używać zmiennych jako wartości dla warunków np.
DECLARE @i int
set @i = 1
select * from dbo.spt_values where number=@i



Użycie instrukcji warunkowych IF ... ELSE


Instrukcji warunkowych możemy użyć celem sterowania przebiegu kodu. Składni polecenia to:
IF warunki 
begin
polecenie
end
ELSE
begin
polcenie
end


Celem sterowania kodem podajemy warunki logiczne które zwracają TRUE lub FALSE, czyli prawda lub fałsz.
DECLARE @i int
set @i = 1
if @i = 1
begin
	select 'tak'
end
else 
begin
	select 'nie'
end

Możemy również celem porównania używać funkcji np:

if db_name() = 'master' 
	  begin
	    Print 'baza master'
	   
	  End


Wyników zapytań:

if (select 1) = 1
	  begin
	    Print 'wynik to jeden'
	   
	  End



Również gdy chcemy np dodawać nie istniejące rekordy w bazie możemy użyć IF w połączeniu z EXISTS.
DECLRE @imie SET @imie= 'stefan'
IF not EXISTS (select top 1 1 from t_dane where imie=@imie)
insert into t_dane (imie) select 'stefan'




Wykorzystanie BIT, 1 oznacz TRUE, a 0 false
declare @war bit
set @war=1

if @war='true'
	  begin
	    Print 'wartość bit zwróciła true'
	   
	  End




powrót















SQL-KURSY.pl poleca:

Książki
ksikaksikaksikaksikaksika

Copyright 2010-2011mariuszhk@op.pl

obob ob

Valid HTML 4.01 Transitional

Strona internetowa wykorzystuje pliki cookie zapisywane w pamięci przeglądarki internetowej.

OK