T-SQL

 准备面试,回顾一下T-SQL 相关知识

 use 表名                 -- 用代码选择 指定数据库操作

全局变量

@@ERROR     --有两个@ 的都是全局变量  ,这个表示 错误的sql 语句产生的错误代码

@@CONNECTIONS

返回 SQL Server 自上次启动以来尝试的连接数。

@@CPU_BUSY

返回 SQL Server 自上次启动后的工作时间。

@@CURSOR_ROWS

返回连接上打开的上一个游标中的当前限定行的数目,

确定当其被调用时检索了游标符合条件的行数。

@@DATEFIRST

针对会话返回 SET DATEFIRST 的当前值,SET DATEFIRST 表示指定的

每周的第一天。

@@DBTS

返回当前数据库的当前 timestamp 数据类型的值,

这一时间戳值在数据库中必须是唯一的。

@@FETCH_STATUS

返回针对连接当前打开的任何游标发出的上一条游标 FETCH

语句的状态。

@@IDENTITY

返回上次插入的标识值。

@@IDLE

返回 SQL Server 自上次启动后的空闲时间。结果以 CPU 时间

增量或“时钟周期”表示,并且是所有 CPU 的累积。

@@IO_BUSY

返回自从 SQL Server 最近一次启动以来,Microsoft SQL Server

已经用于执行输入和输出操作的时间。其结果是 CPU 时间增量

(时钟周期),并且是所有 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

返回自上次启动 SQL Server 后,在 SQL Server 连接上发生的网络

数据包错误数。

@@PROCID

返回 Transact-SQL 当前模块的对象标识符 (ID)。Transact-SQL

模块可以是存储过程、用户定义函数或触发器。

@@REMSERVER

返回远程 SQL Server 数据库服务器在登录记录中显示的名称。

@@ROWCOUNT

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

@@SERVERNAME

返回运行 SQL Server 的本地服务器的名称。

@@SERVICENAME

返回 SQL Server 正在其下运行的注册表项的名称。若当前实例为

默认实例,则 @@SERVICENAME 返回 MSSQLSERVER。

@@SPID

返回当前用户进程的会话 ID。

@@TEXTSIZE

返回 SET 语句中的 TEXTSIZE 选项的当前值。

@@TIMETICKS

返回每个时钟周期的微秒数。

@@TOTAL_ERRORS

返回 SQL Server 自上次启动之后所遇到的磁盘写入错误数。

@@TOTAL_READ

返回 SQL Server 自上次启动后读取磁盘(不是读取高速缓存)的次数。

@@TOTAL_WRITE

返回 SQL Server 自上次启动以来所执行的磁盘写入次数。

@@TRANCOUNT

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

@@VERSION

返回当前的 SQL Server 安装的版本、处理器体系结构、生成日期

和操作系统。

如何使用 ?

select  @@ERROR

 局部变量        


 局部变量是自定义的  使用 一个  @

使用  declare 创建声明局部变量!!!

(建议使用的是否  在declare 前面 加go  SQL中是以GO语句来区分批处理的)

   

go                   
declare @name nvarchar(20)   --创建  @name  的 局部变量   
set @name=(select StuName from Student where StuNo='1')       --查询  id =1 的 学生  

print('这是学生'+@name)                       --输出 id=1 的学生名字

 注意  set 是赋值的 也可以  使用 select

set 赋值 是给定的 而 select  的值是查询出来的   

最简单的区别

--注意看

SELECT @VAR1='Y',@VAR2='N'
-- 而SET要达到同样的效果,需要:
SET @VAR1='Y'
SET @VAR2='N'

 计算1+2+3。。。+10的值

declare @num int =1,@sum int=0

while @num<=10
begin

set @sum+=@num
set @num+=1
end

print(@sum)

猜你喜欢

转载自www.cnblogs.com/whatarey/p/9362972.html