time 
设为首页】【收藏本站
当前位置: 主页 > 数据库 > SQL Server > SQL 基础 > SQL基础总结(三)变量、全局变量、视图、事务、异常

SQL基础总结(三)变量、全局变量、视图、事务、异常

时间:2013-10-14 13:54 点击:1465次 字体:[ ]




       变量

  1.局部变量的声明(一个@)

    declare @n int   --声明变量关键字为declare 然后@加变量名 后面是变量类型

    declare @s varchar(36)

  2.局部变量的赋值

    set @s='f4'

    set @n=@n+1  --变量的赋值有两种方法,一种是通过set,一种是select 如果变量不附初始值则默认为null,null参与计算的结果还是null,这一行的@n就等于null

    select @n=age from students  --如过变量通过select赋值,这里可能在表中查到很多age结果,这里只赋值查询出来的最后一个age结果,如果set使用这种方法会出错。

    set @n=(select age from Students where ID='1')--亦可以这样给他赋值

 

全局变量

  全局变量:是系统预定义的,返回一些系统信息,全局变量以两个@@开头。

  常用的变量:

@@CONNECTIONS 返回自上次启动以来连接或试图连接的次数。

@@CURSOR_ROWS 返回连接上最后打开的游标中当前存在的合格行的数量(返回被打开的游标中还未被读取的有效数据行的行数)

@@DATEFIRST 返回每周第一天的数字

@@ERROR 返回最后执行的SQL 语句的错误代码。

@@FETCH_STATUS 返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。

@@IDENTITY 返回最后插入的标识值

@@LANGID 返回当前所使用语言的本地语言标识符(ID)。

@@LANGUAGE 返回当前使用的语言名。

@@LOCK_TIMEOUT 返回当前会话的当前锁超时设置,单位为毫秒。

@@PROCID 返回当前过程的存储过程标识符 (ID) 。

@@ROWCOUNT 返回受上一语句影响的行数。

@@SERVERNAME 返回运行 的本地服务器名称。

@@SPID 返回当前用户进程的服务器进程标识符 (ID)。

@@TRANCOUNT 返回当前连接的活动事务数。

@@VERSION 返回当前安装的日期、版本和处理器类型。

@@CPU_BUSY 返回自SQL Server 最近一次启动以来CPU 的工作时间其单位为毫秒

@@DATEFIRST 返回使用SET DATEFIRST 命令而被赋值的DATAFIRST 参数值SET DATEFIRST,命令用来指定每周的第一天是星期几

@@DBTS 返回当前数据库的时间戳值必须保证数据库中时间戳的值是惟一的

@@ERROR 返回执行Transact-SQL 语句的错误代码

@@FETCH_STATUS 返回上一次FETCH 语句的状态值

@@IDLE 返回自SQL Server 最近一次启动以来CPU 处于空闭状态的时间长短单位为毫秒

@@IO_BUSY 返回自SQL Server 最近一次启动以来CPU 执行输入输出操作所花费的时间其单位为毫秒

@@LANGID 返回当前所使用的语言ID 值

@@LANGUAGE 返回当前使用的语言名称

@@LOCK_TIMEOUT 返回当前会话等待锁的时间长短其单位为毫秒

@@MAX_CONNECTIONS 返回允许连接到SQL Server 的最大连接数目

@@MAX_PRECISION 返回decimal 和numeric 数据类型的精确度

@@NESTLEVEL 返回当前执行的存储过程的嵌套级数初始值为0

@@OPTIONS 返回当前SET 选项的信息

@@PACK_RECEIVED 返回SQL Server 通过网络读取的输入包的数目

@@PACK_SENT 返回SQL Server 写给网络的输出包的数目

@@PACKET_ERRORS 返回网络包的错误数目

@@PROCID 返回当前存储过程的ID 值

@@REMSERVER 返回远程SQL Server 数据库服务器的名称

@@SERVICENAME 返回SQL Server 正运行于哪种服务状态之下如MSSQLServer MSDTC SQLServerAgent

@@SPID 返回当前用户处理的服务器处理ID 值

@@TEXTSIZE 返回SET 语句的TEXTSIZE 选项值SET 语句定义了SELECT 语句中text 或image数据类型的最大长度基本单位为字节

@@TIMETICKS 返回每一时钟的微秒数

@@TOTAL_ERRORS 返回磁盘读写错误数目

@@TOTAL_READ 返回磁盘读操作的数目

@@TOTAL_WRITE 返回磁盘写操作的数目

@@TRANCOUNT 返回当前连接中处于激活状态的事务数

视图

  1.视图是一张虚拟表,他所存储的不是实际数据,而是查询语句,但我们可以对视图进行像数据表一样的操作。

  2.为什么使用视图呢?我的理解是:1.在远程传输数据时,可以避免过长的查询字符,减少流量。2.他可以简化繁杂的多表嵌套查询语句。3.安全性,防止非法用户访问敏感数据,因为我们可以通过创建视图展示给用户,我们想要给他们查看的数据。

  3.视图的创建

    create view vw_city

    as

    select cityName from city   --这个查询语句可以随便的写,如果是些多层次的嵌套查询语句的话,那么下面使用视图的简易性就突出了。应为只用一句简短的查询语句就能把原本繁杂的搞定

  4.视图的查询

    select * from vw_city

  5.由于视图是以查询语句的形式存储的,所以一般视图只用于查看数据,一般不对视图进行增删改。如果数据库中的表数据改变那么视图中的数据也会随之改变,因为视图就相当于查询语句



本文地址 : http://www.fengfly.com/plus/view-213921-1.html
标签: 视图 SQL 异常 变量 事务 全局变量
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码: