Aracılığıyla paylaş


IF...ELSE (Transact-SQL)

Koşullara göre yürütülmesini getirir bir Transact-SQL deyim.Koşul gerçekleştiyse Eğer anahtar sözcük ve onun koşulu izleyenTransact-SQLdeyim yürütüldüğünde: Booleifade true döndürür. İsteğe bağlı else anahtar başka tanıtır IF koşula uyulmadığını yürütülenTransact-SQLdeyim : Booleifade yanlış'ı verir.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

IF Boolean_expression 
     { sql_statement | statement_block } 
[ ELSE 
     { sql_statement | statement_block } ] 

Bağımsız değişkenler

  • Boolean_expression
    true veya false döndüren ifade edilir.Booleifade , bir select deyimiçeriyorsa, select deyim parantez içine alınmalıdır.

  • { sql_statement| statement_block }
    Herhangi Transact-SQLdeyim veya bir deyimblokkullanarak tanımlandığı gibi deyimgruplandırma . Bir deyim blok olmadıkça else koşulu tek performansını etkileyebilir veya kullanılan, eğer Transact-SQL deyim.

    Bir deyim bloktanımlamak için başlangıç ve BİTİŞ akış denetimi anahtar sözcükler kullanın.

Açıklamalar

Bir IF...BAŞKA yapı toplu işlemleri, saklı yordamları ve ad hoc sorguları için kullanılabilir.Bu yapıyı saklı yordamkullanıldığında, bazı parametre varlığını sınamak için sık kullanılır.

Eğer testler sonrasında başka bir IF veya bir else aşağıdaki iç içe olabilir.İç içe düzey sayısı için bir sınır, kullanılabilen belleğe bağlıdır.

Örnekler

Aşağıdaki örnek IF…ELSE çıktısı ile uspGetList saklı yordam.Bu saklı yordam içinde tanımlanan Saklı yordamlar oluşturma.Bu örnekte, saklı yordam liste fiyatı $'dan ile Bisikletler listesini döndürür700.Bu ilk neden PRINT deyim yürütmek.

DECLARE @compareprice money, @cost money 
EXECUTE Production.uspGetList '%Bikes%', 700, 
    @compareprice OUT, 
    @cost OUTPUT
IF @cost <= @compareprice 
BEGIN
    PRINT 'These products can be purchased for less than 
    $'+RTRIM(CAST(@compareprice AS varchar(20)))+'.'
END
ELSE
    PRINT 'The prices for all products in this category exceed 
    $'+ RTRIM(CAST(@compareprice AS varchar(20)))+'.'

Daha fazla örnek için, bkz. ELSE IF...else) (Transact-SQL).