SQL Server控制语句的基本应用

1.语句块(BEGIN…END)
语句块语法如下:
        BEGIN
          <SQL语句或程序块>
        END
BEGIN…END用来设定一个语句块,可以将多条Transact-SQL语句封装起来构成一个语句块,在处理时,整个语句块被视为一条语句。BEGIN…END经常用在条件语句中,如IF…ELSE 或WHILE循环中。BEGIN…END语句可以嵌套使用。

2.判断语句(IF…ELSE)
通常计算机是按顺序执行程序中的语句,但是在许多情况下,语句执行的顺序以及是否执行依赖于程序运行的中间结果,在这种情况下,必须根据某个变量或表达式的值作出判断,以决定执行哪些语句或不执行哪些语句。这时可以利用IF…ELSE语句作出判断,选择执行某条语句或语句块。
判断语句语法如下:
      IF  <条件表达式>
          <命令行或语句块1>
     [ ELSE [条件表达式]
        <命令行或语句块2> ]

3 检测语句(IF…EXISTS)
IF…EXISTS语句用于检测数据是否存在,而不考虑与之匹配的行数。对于存在性检测而言,使用IF…EXISTS要比使用COUNT(*)>0好,效率更高,因为只要找到第一个匹配的行,服务器就会停止执行SELECT语句。
检测语句语法如下:
    IF  [NOT]  EXISTS  (SELECT查询语句)
         <命令行或语句块1>
     [ELSE]
      <命令行或语句块2>

4 多分支判断语句(CASE…WHEN)
CASE…WHEN结构提供了比IF…ELSE结构更多的选择和判断机会,使用它可以很方便地实现多分支判断,从而避免多重IF…ELSE语句嵌套使用。多分支判断语句CASE…WHEN语法有两种格式:
第一种格式语法如下:
     CASE <算术表达式>
         WHEN <算术表达式> THEN <运算式>
         WHEN <算术表达式> THEN <运算式>
        [ELSE <算术表达式>]
    END
第二种格式语法如下:
    CASE
        WHEN <条件表达式> THEN <运算式>
        WHEN <条件表达式> THEN <运算式> 
        [ELSE <运算式>]
    END

5 循环语句(WHILE)
循环语句可以设置重复执行SQL语句或语句块的条件,只要指定的条件为TRUE(条件成立),就重复执行语句。
循环语句语法如下:
    WHILE <条件表达式>
    BEGIN
        <命令行或程序块>
        [BREAK]
        [CONTINUE]
        [命令行或程序块]
    END

6 跳转语句(GOTO)
使用跳转语句GOTO可以改变程序执行的流程,使程序跳到标有标识符的指定程序行,再继续往下执行,作为跳转目标的标识符可以是数字与字符的组合,但必须以“:”结尾。
跳转语句语法如下:
    GOTO  标识符:

7 返回语句(RETURN)
返回语句用于结束当前程序的执行返回到上一个调用它的程序或其它程序,在括号内可指定一个返回值。返回语句可使程序从批处理、存储过程、触发器中无条件退出,不再执行RETURN之后的任何语句。返回语句语法如下:
    RETURN  ([整数值])

8 延期执行语句(WAIT…FOR)
WAITFOR语句用来暂时停止程序执行,直到所设定的等待时间已过或所设定的时刻已到,才继续往下执行。其中时间必须为DATETIME 类型的数据,延迟时间和时刻均采用“HH:MM:SS”格式,在WAITFOR语句中不能指定日期,并且时间长度不能超过24小时。
延期执行语句语法如下:
     WAITFOR { DELAY <‘时间'> | TIME <‘时间'> }
       sql_statement
      DELAY:用来设定等待的时间间隔,最多可达24 小时。
      TIME:用来设定等待结束的时间点。
      sql_statement:设定的等待时间已过或所设定的时刻已到,要继续执行的SQL操作语句。

(0)

相关推荐

  • 详解Oracle数据库各类控制语句的使用

    Oracle数据库各类控制语句的使用是本文我们主要要介绍的内容,包括一些逻辑控制语句.Case when的使用.While的使用以及For的使用等等,接下来我们就开始一一介绍这部分内容,希望能够对您有所帮助. Oracle 中逻辑控制语句  If elsif else end if set serverout on; declare per_dep_count number; begin select count(*) into per_dep_count from emp; if per_de

  • MySQL与MSSQl使用While语句循环生成测试数据的代码

    在MySQL中,使用While语句循环与SQL Server中有所不同,代码测试通过. MSSQL中使用while语句循环生成数据的方法: 示例代码: 复制代码 代码如下: declare @a int set @a = 1 while @a<25 begin INSERT INTO demotable (id,item1,item2) VALUES (@a,"abc","123") set @a = @a + 1 end MySQL中,使用while循环处理

  • Oracle查看逻辑读、物理读资源占用排行的SQL语句

    查看逻辑读前10的SQL: 复制代码 代码如下: set linesize 300; set pagesize 300; set long 50000; SELECT * FROM (     SELECT sql_fulltext AS sql, SQL_ID,buffer_gets / executions AS "Gets/Exec",buffer_gets, executions     FROM V$SQLAREA     WHERE buffer_gets > 100

  • for语句中的几种分隔符形式小结

    其实for /l %i in (1,1,99) do @echo %i 括号中间的分隔号有多种 形式如下: for /l %i in (1,1,99) do @echo %i for /l %i in (1 1 99) do @echo %i for /l %i in (1;1;99) do @echo %i for /l %i in (1=1=99) do @echo %i for /l %i in (1<tab>1<tab>99) do @echo %i <tab>

  • SQL Server控制语句的基本应用

    1.语句块(BEGIN-END)语句块语法如下:        BEGIN          <SQL语句或程序块>        ENDBEGIN-END用来设定一个语句块,可以将多条Transact-SQL语句封装起来构成一个语句块,在处理时,整个语句块被视为一条语句.BEGIN-END经常用在条件语句中,如IF-ELSE 或WHILE循环中.BEGIN-END语句可以嵌套使用. 2.判断语句(IF-ELSE)通常计算机是按顺序执行程序中的语句,但是在许多情况下,语句执行的顺序以及是否执行

  • SQL SERVER中的流程控制语句

    目录 批处理 1.BEGIN...AND语句 2.IF...ELSE语句 3. CASE语句 4. WHILE语句 5.无条件退出语句RETURN 6.无条件跳转语句GOTO 7.WAITFOR语句 7.1 DELAY参数 7.2 TIME参数 T-SQL中用来编写流程控制模块的语句有:BEGIN...AND语句.IF...ELSE语句.CASE语句.WHILE语句.GOTO语句.BREAK语句.WAITFOR语句和RETURN语句. 批处理 一个批处理段是由一个或者多个语句组成的一个批处理,之

  • SQL Server数据库入门学习总结

    一图胜"十"言:SQL Server 数据库总结 一个大概的总结 经过一段时间的学习,也对数据库有了一些认识. 数据库基本是由表,关系,操作组成:对于初学者首先要学的: 1.数据库是如何存储数据的 表,约束,触发器 2.数据库是如何操作数据的 insert,update,delete T-sql 函数 存储过程 触发器 3.数据库是如何显示数据的 select SQLServer数据库学习总结 1.SQL基础 SQL Server2000安装.配置,服务器启动.停止,企业管理器.查询分

  • SQL Server 2005基础知识详细整理

    1. ACID:指数据库事务正确执行的四个基本要素缩写:1.原子性2.一致性3.隔离性4.持久性 2.数据库对象:表(table) 视图(view) 存储过程(stored procedure) 函数(function)索引(index) 3.SQL Server 2005中包含master.model.msdb.tempdb四个系统数据库. 4.使用T-SQL语句创建数据库:CREATE DATABASE [ApressFinacial] ON  PRIMARY ( NAME = N'Apre

  • SQL server高级应用 收藏版

    一. 建库,建表,加约束. 1.1建库 复制代码 代码如下: use master go if exists (select * from sysdatabases where name='MyDatabase')-判断master数据库sysdatagbases表中是否存在将要创建的数据库名 drop database MyDatabase-如果sysdatabases表中存在该数据库名,则将它删除 go exec xp_cmdshell 'md D:/MyDatabases'-利用存储过程创

  • SQL Server中with as使用介绍

    一.WITH AS的含义  WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到.有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分. 特别对于UNION ALL比较有用.因为UNION ALL的每个部分可能相同,但是如果每个部分都去执行一遍的话,则成本太高,所以可以使用WITH AS短语,则只要执行一遍即可.如果WITH AS短语所定义的表

  • SQL Server Transact-SQL编程详解

    目录 变量 1. 局部变量(Local Variable) 2. 全局变量(Global Variable) 输出语句 逻辑控制语句 1. if-else判断语句 2. while…continue…break循环语句 3. case 4. 其他语句 总结 T-SQL语句用于管理SQL Server数据库引擎实例,创建和管理数据库对象,以及查询.插入.修改和删除数据. 变量 1. 局部变量(Local Variable) 局部变量是用户可以自定义的变量,它的作用范围是仅在程序内部,在程序中通常用

  • SQL SERVER存储过程用法详解

    目录 一.存储过程的概念 存储过程的优点 二.存储过程的分类 1.系统存储过程 2.临时存储过程 3.用户自定义存储过程 二.存储过程的用法 1.不带参数的存储过程,获取MyStudentInfo表的所有记录 2.创建带输入参数的存储过程 3.创建带默认值的输入参数的存储过程 4.创建带输出参数的存储过程(根据输入的ID返回年级ID) 5.创建带返回值的存储过程 6.创建带变量的存储过程 7.创建带输入输出参数的存储过程 8.创建分页存储过程 分页存储过程2 9.返回多个结果集 10.存储过程中

  • SQL Server中函数、存储过程与触发器的用法

    一.函数 函数分为(1)系统函数,(2)自定义函数. 其中自定义函数又可以分为(1)标量值函数(返回单个值),(2)表值函数(返回查询结果) 本文主要介绍自定义函数的使用. (1)编写一个函数求该银行的金额总和 create function GetSumCardMoney() returns money as begin declare @AllMOney money select @AllMOney = (select SUM(CardMoney) from BankCard) return

  • powershell玩转SQL SERVER所有版本的方法

    微软发布了最新的powershell for sql server 2016命令行客户端库.文章介绍了与之相关的实用方法. powershell,sql server,2016,功能包,客户端,下载 powershell玩sql server就是比powershell玩mysql强! 问:那么问题来了,强在哪? 答:微软给我们做好了powershell+sqlserver的[客户端]库. 问:那么问题来了,客户端库在哪?叫什么名?哪里下载? 答: 在 叫做[sql server 20xx 功能包

随机推荐