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