• 相关软件
    >ELSE (IF...ELSE) 创建者:webmaster 更新时间:2006-02-16 15:51

    在执行 Transact-SQL 语句时强加条件。如果 Boolean_expression 取值为 TRUE,则执行 Boolean_expression 后的 Transact-SQL 语句 (sql_statement)。当 Boolean_expression 取值为 FALSE 或 NULL时,则可选 ELSE 关键字为要执行的 Transact-SQL 语句。



    语法


    IF Boolean_expression { sql_statement | statement_block }

    [

        
    ELSE

        { sql_statement | statement_block } ]



    参数


    Boolean_expression



    返回 TRUE 或 FALSE 的表达式。如果布尔表达式中含有 SELECT 语句,必须用圆括号将 SELECT 语句括起来。



    {sql_statement | statement_block}



    是任何有效的 Transact-SQL 语句或以语句块定义的语句分组。若要定义语句块(批处理),采用控制流语言关键字 BEGIN 和 END。虽然所有的 Transact-SQL 语句在 BEGIN...END 块内都有效,但有些 Transact-SQL 语句不应组合在同一个批处理(语句块)中。



    结果类型


    Boolean



    示例


    当至少一本书满足这些条件时,这个示例会给出价格在 $10 与 $20 之间的传统烹调书的列表。否则,SQL Server 会给出一条信息,说明没有书满足这个条件,并生成价格低于 $10 的传统烹调书的列表。



    USE pubs
    GO
    DECLARE @msg varchar(255)
    IF (SELECT COUNT(price)
      FROM titles
      WHERE title_id LIKE 'TC%' AND price BETWEEN 10 AND 20) > 0
     
      BEGIN
      SET NOCOUNT ON
      SET @msg = 'There are several books that are a good value between $10 and $20. These books are: '
          PRINT @msg
        SELECT title
      FROM titles
      WHERE title_id LIKE 'TC%' AND price BETWEEN 10 AND 20
      END
    ELSE
      BEGIN
      SET NOCOUNT ON
      SET @msg = 'There are no books between $10 and $20. You might consider the following books that are under $10.'
          PRINT @msg
      SELECT title
      FROM titles
      WHERE title_id LIKE 'TC%' AND price < 10    
      END


    下面是结果集:



    There are several books that are a good value between $10 and $20. These books are: 
    title                                            
    ------------------------------------------------------------------------
    Fifty Years in Buckingham Palace Kitchens
    Sushi, Anyone?

    (2 row(s) affected)
    相关文章
    本页查看次数: