zoukankan      html  css  js  c++  java
  • SQL控制语句基础

    SQL变量

    全局变量:

    全局变量是由系统定义和维护的使用两个@作为前缀,不能由用户声明和赋值!

    常用的全局变量如下

    @@version :获取当前使用的SQL Server版本号

    EG:

    select @@version

    显示信息:

    -----------------------------------------------------------------------------------------------------------------------------------------Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)
        Apr  2 2010 15:48:46
        Copyright (c) Microsoft Corporation
        Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )

    @@identity :上条SQL语句返回的标识列的值

    EG:

    insert into hous(name,price )
    values('房间一',299)
    select @@IDENTITY  as 标识列

    显示信息:

    (1 行受影响)
    标识列
    ---------------------------------------
    5

    (1 行受影响)
    @@rowcount:返回上条SQL语句的受影响行数

    insert into hous(name,price )
    values('房间一',299)
    select @@rowcount as 受影响行数

    显示信息:


    (1 行受影响)
    受影响行数
    -----------
    1

    (1 行受影响)

    @@servername:本地服务器的名称

    EG:

    select @@servername

    显示信息:

    --------------------------------------------------------------------------------------------------------------------------------
    DESKTOP-M5OLTTN

    (1 行受影响)

    @@error:最后一条sql错误的错误号

    EG:

    insert into hous(name,price )
    values('房间一')
    select @@ERROR as 错误号

    显示结果:

    消息 109,级别 15,状态 1,第 1 行
    INSERT 语句中列的数目大于 VALUES 子句中指定的值的数目。VALUES 子句中值的数目必须与 INSERT 语句中指定的列的数目匹配。

    错误号
    -----------
    109

    (1 行受影响)

    @@servicename:该计算机上的SQL服务器的名称

    EG:

    select @@servicename

    显示结果:

    --------------------------------------------------------------------------------------------------------------------------------
    MSSQLSERVER

    (1 行受影响)

    @@language:当前使用的语言的名称

    EG:

    select @@language

    显示结果:

    --------------------------------------------------------------------------------------------------------------------------------
    简体中文

    (1 行受影响)

    @@max_connections:可以创建的同时连接的最大数目

    EG:

    select @@MAX_CONNECTIONS

    显示结果:

    -----------
    32767

    (1 行受影响)

    @@timeticks:当前计算机上每刻度的微秒数

    EG:

    select @@timeticks

    显示结果:

    -----------
    31250

    (1 行受影响)

    @@trancount:当前连接打开的事务数

    EG:

    select @@TRANCOUNT

    显示结果:

    -----------
    0

    (1 行受影响)

    局部变量

    声明语法:

    declare @variable datatype

    其中,variable为局部变量的名称,datatype为数据类型

    赋值语法:

    局部变量有两种复制方式

    1.set @variable  = value

    2.select @variable=value

    set和select的区别

    select语句一般用于将表中的数据赋给变量

    set语句不支持将表中的数据赋给变量

    提示:

    给一个变量赋值是set比select的效率更高。set不支持同时给多个变量赋值

    SQL输出语句

    在sql server中有两种输出方式

    1.print 局部变量或字符串

    2.select 局部变量或字符串

    其中select语句输出数据是查询语句的特殊用法

    数据类型转换

    语法:

    Cast(表达式 as 数据类型)

    Convert(数据类型,表达式【,样式】)

    其中“【】”是可选部分。

    逻辑控制语句

    begin-end

    语法:

    Begin

    语句或语句块

    end

    与C#中的“{}”类似,表示语句快的开始和结束。在一个语句块中可以包含另一个语句块

    IF-else和while与C#类似这里不再一一说明

    Case多分支语句

    case 多分支语句也和C#中的是swith选择结构类似也就语法不同

    Case的语法:

    Case

    when 条件1 then 结果1

    when 条件2 then 结果2

    ……

    【else 其他结果】

    end

    其中“【】”是可选部分

    值得注意的是:如果省略Else并且when的条件都不为true则返回的结果为null

    批处理-go

    它是一条或多条SQL语句的集合,也就是一个可执行单元,每个批处理可以编译成单个可执行单元,从而提高可执行效率。如果批处理包含多条SQL语句,则执行这些语句的所有优化步骤将编译在单个执行单元中

  • 相关阅读:
    布隆过滤器解决缓存穿透问题
    查询指定距离内的快递柜或者店铺
    各注册中心consul eureka 以及nacos的服务发现原理
    consul注册中心服务注册过程源码分析
    consul注册中心如何自动剔除下线服务
    svn执行reflash/cleanup报错wc.db解决办法
    第二章
    第一章 JVM和Java体系架构
    2、操作系统-中断
    1、操作系统-启动
  • 原文地址:https://www.cnblogs.com/wangzheand/p/5117237.html
Copyright © 2011-2022 走看看