SQL Değişkenleri: SQL Server Değişkeni Bildirin, Ayarlayın ve Seçin

SQL Server'da Değişken Nedir?

MS SQL'de değişkenler, bir bellek konumuna yer tutucu görevi gören nesnelerdir. Değişken tutma tek veri değeri.

SQL'de Değişken Türleri: Yerel, Global

MS SQL'de iki tür değişken vardır:

  1. Yerel değişken
  2. Küresel değişken.

Ancak kullanıcı yalnızca yerel bir değişken oluşturabilir.

Aşağıdaki şekil, mevcut iki değişken tipini açıklamaktadır. MSSQL sunucusu.

SQL Değişkenleri
SQL Server'daki Değişken Türleri

Yerel değişken

  • Kullanıcı yerel değişkeni bildirir.
  • Varsayılan olarak yerel bir değişken şununla başlar: @.
  • Her yerel değişken kapsamının kısıtlaması vardır. mevcut parti veya prosedür herhangi bir oturumda.

Küresel değişken

  • Sistem global değişkeni korur. Bir kullanıcı bunları beyan edemez.
  • Global değişken şununla başlar: @@
  • Depolar oturumla ilgili bilgiler.

SQL'de bir değişken nasıl DECLARE edilir?

  • Toplu iş veya prosedürde herhangi bir değişkeni kullanmadan önce şunları yapmanız gerekir: değişkeni bildirin.
  • DECLARE komutu, bellek konumu için yer tutucu görevi gören DECLARE değişkenine kullanılır.
  • Yalnızca beyan yapıldıktan sonra bir değişken serinin veya prosedürün sonraki kısmında kullanılabilir.

TSQL Sözdizimi:

DECLARE  { @LOCAL_VARIABLE[AS] data_type  [ = value ] }

Kurallar:

  • Başlatma, bildirim sırasında isteğe bağlı bir şeydir.
  • DECLARE varsayılan olarak değişkeni NULL olarak başlatır.
  • 'AS' anahtar kelimesini kullanmak isteğe bağlıdır.
  • Birden fazla yerel değişken bildirmek için, ilk yerel değişken tanımından sonra virgül kullanın ve ardından bir sonraki yerel değişkenin adını ve adını tanımlayın. veri tipi.

Değişken bildirme örnekleri

Sorgu: 'AS' ile

DECLARE @COURSE_ID AS INT;

Sorgu: 'AS' olmadan

DECLARE @COURSE_NAME VARCHAR (10);

Sorgu: İki değişkeni DECLARE

DECLARE @COURSE_ID AS INT, @COURSE_NAME VARCHAR (10);

SQL Değişkenine değer atama

Aşağıdaki şekilde bir değişkene değer atayabilirsiniz üç yolları:

  1. DECLARE anahtar sözcüğünü kullanarak değişken bildirimi sırasında.
  2. SET'i kullanma
  3. SELECT'i kullanma

Her üç yola da ayrıntılı olarak bakalım:

DECLARE anahtar kelimesini kullanarak değişken bildirimi sırasında

T-SQL Söz Dizimi:

DECLARE { @Local_Variable [AS] Datatype [ = value ] }

Burada veri türünden sonra '=' ve ardından atanacak değeri kullanabiliriz.

Sorgu:

DECLARE @COURSE_ID AS INT = 5
PRINT @COURSE_ID

SQL Değişkenine değer atama

SQL SET VARIABLE'ı kullanma

Bazen bildirimi ve başlatmayı ayrı tutmak isteriz. SET, bir değişkeni bildirdikten sonra değişkene değer atamak için kullanılabilir. Aşağıda SET kullanarak değer atamanın farklı yolları verilmiştir:

Örnek E-posta: SET kullanarak bir değişkene değer atamak

Sözdizimi:

DECLARE @Local_Variable <Data_Type>
SET @Local_Variable =  <Value>

Sorgu:

DECLARE @COURSE_ID AS INT
SET @COURSE_ID = 5
PRINT @COURSE_ID

SQL SET DEĞİŞKENİ

Örnek E-posta: Bir değer atayın çoklu değişkenler SET'i kullanarak.

Sözdizimi:

DECLARE @Local_Variable _1 <Data_Type>, @Local_Variable_2 <Data_Type>,
SET @Local_Variable_1 = <Value_1>
SET @Local_Variable_2 = <Value_2>

Kural: Bir SET Anahtar Kelimesi yalnızca bir değer atamak için kullanılabilir. bir değişken.

Sorgu:

DECLARE @COURSE_ID as INT, @COURSE_NAME AS VARCHAR(5)
SET @COURSE_ID = 5
SET @COURSE_NAME = 'UNIX'
PRINT @COURSE_ID
PRINT @COURSE_NAME

SQL SET DEĞİŞKENİ

Örnek E-posta: Bir değişkene bir değer atamak Skaler Alt Sorgu SET'i kullanma

Sözdizimi:

DECLARE @Local_Variable_1 <Data_Type>, @Local_Variable_2 <Data_Type>,SET @Local_Variable_1 = (SELECT <Column_1> from <Table_Name> where <Condition_1>)

Kurallar:

  • Sorguyu parantez içine alın.
  • Sorgu skaler bir sorgu olmalıdır. Skaler bir sorgu, sonuçları yalnızca bir satır ve bir sütun olarak veren bir sorgudur. Aksi takdirde, sorgu bir hata verecektir.
  • Sorgu sıfır satır döndürürse değişken EMPTY, yani NULL olarak ayarlanır.

Varsayım: Aşağıda gösterildiği gibi iki sütunlu 'Guru99' tablosuna sahip olduğumuzu varsayalım:

SQL SET DEĞİŞKENİ

Sonraki derslerde 'Guru99' tablosunu kullanacağız

Örnek 1: Alt sorgu sonuç olarak bir satır döndürdüğünde.

DECLARE @COURSE_NAME VARCHAR (10)
SET @COURSE_NAME = (select Tutorial_name from Guru99 where Tutorial_ID = 3)
PRINT @COURSE_NAME

SQL SET DEĞİŞKENİ

Örnek 2: Alt sorgu sonuç olarak sıfır satır döndürdüğünde

DECLARE @COURSE_NAME VARCHAR (10)
SET @COURSE_NAME = (select Tutorial_name from Guru99 where Tutorial_ID = 5)
PRINT @COURSE_NAME

Bu özel durumda değişken değeri EMPTY'dir, yani NULL'dur.

SQL SET DEĞİŞKENİ

SQL SELECT VARIABLE'ı kullanma

Tıpkı SET gibi, değişkenlere değer atamak ve DECLARE kullanarak bir değişken bildirmek için SELECT'i de kullanabiliriz. Aşağıda SELECT kullanarak değer atamanın farklı yolları verilmiştir:

Örnek E-posta: SELECT kullanarak bir değişkene değer atama

Sözdizimi:

DECLARE @LOCAL_VARIABLE <Data_Type>
SELECT @LOCAL_VARIABLE = <Value>

Sorgu:

DECLARE @COURSE_ID INT
SELECT @COURSE_ID = 5
PRINT @COURSE_ID

SQL SEÇİM DEĞİŞKENİ

Örnek E-posta: SELECT kullanarak birden fazla değişkene değer atama

Sözdizimi:

DECLARE @Local_Variable _1 <Data_Type>, @Local_Variable _2 <Data_Type>,SELECT @Local_Variable _1 = <Value_1>,  @Local_Variable _2 = <Value_2>

Kurallar: SET'ten farklı olarak SELECT, bir değer atamak için kullanılabilir birden fazla değişkene tarafından ayrılmış virgül.

DECLARE @COURSE_ID as INT, @COURSE_NAME AS VARCHAR(5)
SELECT @COURSE_ID = 5, @COURSE_NAME = 'UNIX'
PRINT @COURSE_ID
PRINT @COURSE_NAME

SQL SEÇİM DEĞİŞKENİ

Örnek E-posta: SELECT kullanarak bir alt sorgu ile değerin bir değişkene atanması

Sözdizimi:

DECLARE @Local_Variable_1 <Data_Type>, @Local_Variable _2 <Data_Type>,SELECT @Local_Variable _1 = (SELECT <Column_1> from <Table_name> where <Condition_1>)

Kurallar:

  • Sorguyu Parantez içine alın.
  • Sorgu skaler bir sorgu olmalıdır. Skaler sorgu, sonucu bir satır ve bir sütun olarak veren sorgudur. Aksi takdirde sorgu bir hata verecektir.
  • Sorgu sıfır satır döndürürse değişken EMPTY'dir, yani NULL'dur.
  • 'Guru99' tablomuzu yeniden düşünün

Örnek 1: Alt sorgu sonuç olarak bir satır döndürdüğünde.

DECLARE @COURSE_NAME VARCHAR (10)
SELECT @COURSE_NAME = (select Tutorial_name from Guru99 where Tutorial_ID = 1)
PRINT @COURSE_NAME

SQL SEÇİM DEĞİŞKENİ

Örnek 2: Alt sorgu sonuç olarak sıfır satır döndürdüğünde

DECLARE @COURSE_NAME VARCHAR (10)
SELECT @COURSE_NAME = (select Tutorial_name from Guru99 where Tutorial_ID = 5)
PRINT @COURSE_NAME

Bu özel durumda değişken EMPTY'dir, yani NULL'dur.

SQL SEÇİM DEĞİŞKENİ

Örnek 3: Normal bir SELECT ifadesi ile bir değişkene değer atayın.

Sözdizimi:

DECLARE @Local_Variable _1 <Data_Type>, @Local_Variable _2 <Data_Type>,SELECT @Local_Variable _1 = <Column_1> from <Table_name> where <Condition_1>

Kurallar:

  • SET'ten farklı olarak, sorgu birden fazla satırla sonuçlanırsa değişken değeri son satırın değerine ayarlanır.
  • Sorgu sıfır satır döndürürse değişken EMPTY, yani NULL olarak ayarlanır.

Sorgu 1: Sorgu bir satır döndürür.

DECLARE @COURSE_NAME VARCHAR (10)
SELECT @COURSE_NAME = Tutorial_name from Guru99 where Tutorial_ID = 3
PRINT @COURSE_NAME

SQL SEÇİM DEĞİŞKENİ

Sorgu 2: Sorgu birden fazla satır döndürür.

DECLARE @COURSE_NAME VARCHAR (10)
SELECT @COURSE_NAME = Tutorial_name from Guru99
PRINT @COURSE_NAME

Bu özel durumda değişken değeri son satırın değerine ayarlandı.

SQL SEÇİM DEĞİŞKENİ

Sorgu 3: Sorgu sıfır satır döndürür.

DECLARE @COURSE_NAME VARCHAR (10)
SELECT @COURSE_NAME = Tutorial_name from Guru99 where Tutorial_ID = 5
PRINT @COURSE_NAME

Bu özel durumda değişken EMPTY'dir, yani NULL'dur.

SQL SEÇİM DEĞİŞKENİ

Diğer SQL Değişken Örnekleri

Sorguda değişken kullanma

Sorgu:

DECLARE @COURSE_ID Int = 1
SELECT * from Guru99 where Tutorial_id = @COURSE_ID

Diğer SQL Değişkeni

SQL Server Değişkenleri Hakkında İlginç Gerçekler!

  • Yerel bir değişken PRINT ve SELECT COMMAND kullanılarak görüntülenebilir
  • Tablo Veri türü bildirim sırasında 'AS' kullanımına izin vermiyor.
  • SET ANSI standartlarına uygundur, ancak SELECT uymaz.
  • @ adıyla yerel bir değişken oluşturmaya da izin verilir. Bunu örneğin şu şekilde beyan edebiliriz:
    'DECLARE @@ as VARCHAR (10)'
    

ÖZET

  • Değişkenler yer tutucu görevi gören nesnelerdir.
  • İki tür Değişken mevcuttur: Yerel ve Küresel
  • Değişkeni aşağıdaki üç şekilde atayabiliriz: 1) DECLARE kullanarak 2) SET kullanarak 3) SELECT kullanarak