Aracılığıyla paylaş


EĞER...BAŞKA (Transact-sql)

Yürütme koşullara getiren bir Transact-SQLdeyimi. Transact-SQLKoşulu memnun olduğunu, eğer anahtar kelime ve onun durumu aşağıdaki deyimi yürütüldüğünde: Boolean deyim true verir. İsteğe bağlı else anahtar başka tanıştırmak Transact-SQLIf koşul memnun değil zaman yürütülen deyimi: false Boolean deyim döndürür.

Konu bağlantısı simgesi Transact-SQL Sözdizim 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ürür bir ifadesidir. Boolean ifade bir SELECT deyimi içeriyorsa, SELECT deyiminin parantez içine alınması gerekir.

  • { sql_statement| statement_block }
    Herhangi bir Transact-SQLdeyimi veya deyimi bloğu kullanarak tanımlanan gruplandırma deyimi. Deyimi bloğu olmadığı sürece başka koşul tek performansını etkileyebilir veya kullanılan, IF Transact-SQLdeyimi.

    Bir deyim bloğu tanımlamak için, BEGIN ve END denetim akışı anahtar sözcüklerini kullanın.

Açıklamalar

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

Eğer testler, sonra başka bir If veya bir else iç içe. İç içe düzey sayısı sınırı, kullanılabilen belleğe bağlıdır.

Örnekler

Aşağıdaki örnek IF…ELSEçıkışı ile uspGetListsaklı yordamını. Bu saklı yordamı tanımlı Saklı yordam oluşturma. Örneğin, saklı yordam motosiklet ile bir liste fiyatı $ daha az listesini döndürür700. Bu ilk neden PRINTdeyimini yürütmek için.

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)))+'.'

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: (...) EĞER BAŞKABAŞKA) (Transact-sql).

Ayrıca bkz.

Başvuru

BAŞLAR...SONUNDA (Transact-sql)

SONUNDA (BEGIN...BİTİŞ) (Transact-sql)

select (Transact-sql)

WHILE (Transact-SQL)

CASE (Transact-sql)

Akış denetimi dil (Transact-sql)