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语句,则执行这些语句的所有优化步骤将编译在单个执行单元中

SQL控制语句基础的更多相关文章

  1. SQL server基础知识(表操作、数据约束、多表链接查询)

    SQL server基础知识 一.基础知识 (1).存储结构:数据库->表->数据 (2).管理数据库 增加:create database 数据库名称 删除:drop database ...

  2. 数据库开发基础-SQl Server 基础

    SQL Server 基础 1.什么是SQL Server SQL:Structured Query Language  结构化查询语言 SQL Server是一个以客户/服务器(c/s)模式访问.使 ...

  3. 【SQL Server】SQL Server基础之存储过程

    SQL Server基础之存储过程  阅读目录 一:存储过程概述 二:存储过程分类 三:创建存储过程 1.创建无参存储过程 2.修改存储过程 3.删除存储过程 4.重命名存储过程 5.创建带参数的存储 ...

  4. Sql Server 基础知识

    Sql Server 基础知识: http://blog.csdn.net/t6786780/article/details/4525652 Sql Server 语句大全: http://www.c ...

  5. Oracle数据库编程:PL/SQL编程基础

    2.PL/SQL编程基础: PL/SQL块:        declare        定义部分        begin        执行部分        exception        异 ...

  6. Oracle Pl/SQL编程基础

    Pl/SQL简介 提高应用程序的运行性能, 提供模块化的程序设计, 自定义标示符, 具有过程语言控制结构, 良好的兼容性, 处理运行错误. Pl/SQL语言基础 sql是关系数据库的基本操作语言. s ...

  7. SQL Tuning 基础概述10 - 体会索引的常见执行计划

    在<SQL Tuning 基础概述05 - Oracle 索引类型及介绍>的1.5小节,提到了几种"索引的常见执行计划": INDEX FULL SCAN:索引的全扫描 ...

  8. SQL数据库基础知识-巩固篇<一>

    SQL数据库基础知识-巩固篇<一>... =============== 首先展示两款我个人很喜欢的数据库-专用于平时个人SQL技术的练习<特点:体积小,好安装和好卸载,功能完全够用 ...

  9. oracle PL/SQL语法基础

    目录 数据类型 定义变量 PL/SQL控制结构 参考资料 Oracle10g数据类型总结 PL/SQL之基础篇 数据类型 学习总结 字符类型 char.nchar.varchar.nvarchar:有 ...

随机推荐

  1. 剑指offer——06旋转数组的最小数字(Python3)

    题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素.例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数 ...

  2. Centos7 minimal 系列之rabbitmq安装(八)

    一.安装Erlang 由于RabbitMQ依赖Erlang, 所以需要先安装Erlang. 这种方法网站访问不了 wget https://packages.erlang-solutions.com/ ...

  3. 前端面试---常见的web安全及防护原理

    一.常见的web安全及防护原理 1.sql注入原理 就是通过把sql命令插入到web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. 防护,总的来说有以下几点: 1. ...

  4. w3c css参考网址

    Cascading Style Sheets Level 2 Revision 2 (CSS 2.2) Specification(http://www.w3.org/TR/CSS22/) <层 ...

  5. Jmeter数据库测试

    Jmeter安装 Jmeter是纯java程序,所以在安装jmeter之前需要先安装JDK,并配置JDK路径,然后开始安装Jmeter. 进入Jmeter官网(https://jmeter.apach ...

  6. P3376 【模板】网络最大流(luogu)

    P3376 [模板]网络最大流(luogu) 最大流的dinic算法模板(采取了多种优化) 优化 时间 inline+当前弧+炸点+多路增广 174ms no 当前弧 175ms no 炸点 249 ...

  7. node工具是是什么东西

    Node到底是个啥? Node是一个服务器端JavaScript解释器,可是真的以为JavaScript不错的同学学习Node就能轻松拿下,那么你就错了,总结:水深不深我还不知道,不过确实不浅 最近写 ...

  8. C语言基本语法——函数

    1.什么是函数 2.函数语法 3.函数声明 4.函数调用 5.函数的形参与实参 6.return与exit关键字 7.递归函数 1.什么是函数 • 函数就是一连串语句被组合在一起,并指定了一个名字 • ...

  9. 为什么Arduino独占鳌头并站稳脚跟?

    出处: http://bbs.dfrobot.com.cn/thread-793-1-1.html 为什么Arduino独占鳌头并站稳脚跟? 每个月,我都会在<Make>杂志上发表几篇社论 ...

  10. JavaScript 运行机制 & EventLoop

    JavaScript 运行机制 & EventLoop 看阮老师博客和自己的理解,记录的学习笔记,js的单线程和 事件EventLoop 机制. 1. JavaScript是单线程 JavaS ...