全局变量 局部变量

来源:互联网 发布:数据库相关期刊 编辑:程序博客网 时间:2024/06/06 20:22

一.局部变量:

  T-SQL中,局部变量必须是@作为前缀.

    语法:

   declare 局部变量名称  数据类型

    例:

   declare @num int --申明一个存放学号的变量 num

二.全局变量:

  SQL server中的所有全局变量都使用两个@作为前缀

   

使用全局变量时应该注意以下几点:
①全局变量不是由用户的程序定义的,它们是在服务器级定义的。
②用户只能使用预先定义的全局变量。
③引用全局变量时,必须以标记符“@@”开头。
④局部变量的名称不能与全局变量的名称相同,否则会在应用程序中出现不可预测的结果。

select @@ERROR 返回最后执行的 Transact-SQL 语句的错误代码(integer) (0,表示没错误;1,表示有错误)

select APP_NAME ( ) as w --当前会话的应用程序

select @@IDENTITY   --返回最后插入的标识值 
select USER_NAME()    --返回用户数据库用户名

SELECT @@CONNECTIONS  --返回自上次SQL启动以来连接或试图连接的次数。 
SELECT GETDATE() --当前时间 
SELECT @@CPU_BUSY/100  --返回自上次启动SQL 以来 CPU 的工作时间,单位为毫秒

USE tempdb SELECT @@DBTS  as w  --为当前数据库返回当前 timestamp 数据类型的值。这一 timestamp 值保证在数据库中是唯一的。 
select @@IDENTITY as w --返回最后插入的标识值 
SELECT @@IDLE  as w  --返回SQL自上次启动后闲置的时间,单位为毫秒 
SELECT @@IO_BUSY AS w   --返回SQL自上次启动后用于执行输入和输出操作的时间,单位为毫秒 
SELECT @@LANGID AS w   --返回当前所使用语言的本地语言标识符(ID)。 
SELECT @@LANGUAGE AS w   --返回当前使用的语言名 
SELECT @@LOCK_TIMEOUT as w  --当前会话的当前锁超时设置,单位为毫秒。 
SELECT @@MAX_CONNECTIONS  as w  --返回SQL上允许的同时用户连接的最大数。返回的数不必为当前配置的数值 
EXEC sp_configure  --显示当前服务器的全局配置设置 
SELECT @@MAX_PRECISION as w --返回 decimal 和 numeric 数据类型所用的精度级别,即该服务器中当前设置的精度。默认最大精度38。 
select @@OPTIONS  as w  --返回当前 SET 选项的信息。 
SELECT @@PACK_RECEIVED as w  --返回SQL自启动后从网络上读取的输入数据包数目。 
SELECT @@PACK_SENT as w  --返回SQ自上次启动后写到网络上的输出数据包数目。 
SELECT @@PACKET_ERRORS as w  --返回自SQL启动后,在SQL连接上发生的网络数据包错误数。 
SELECT @@SERVERNAME as w --返回运行SQL服务器名称。 
SELECT @@SERVICENAME  as w --返回SQL正在其下运行的注册表键名 
SELECT @@TIMETICKS  as w --返回SQL服务器一刻度的微秒数 
SELECT @@TOTAL_ERRORS AS w  --返回 SQL服务器自启动后,所遇到的磁盘读/写错误数。 
SELECT @@TOTAL_READ  as w  --返回 SQL服务器自启动后读取磁盘的次数。 
SELECT @@TOTAL_WRITE as w  --返回SQL服务器自启动后写入磁盘的次数。 
SELECT @@TRANCOUNT  as w  --返回当前连接的活动事务数。 
SELECT @@VERSION as w  --返回SQL服务器安装的日期、版本和处理器类型。                       

三.输出语句:

 语法:

 ①. print 局部变量或字符串

 ②.select 局部变量 as 自定义列名

例:

  print  '我是输出的内容'

  select @@version as 'SQL server的版本' 

四.数据类型转换:cast()和convert() 函数

    1.cast()函数:

         语法:

       cast(表达式 as 数据类型)

          例:
       cast(@num as int)

    2.convert()函数:

          语法:

         convert(数据类型[(长度)],表达式[,样式])

          例:

         convert(nvarchar(10),@name)

     3.区别:

    SQL中的cast 和convert都是用来将一种数据类型的表达式转换为另一种数据类型的表达式。

    CAST 和 CONVERT 提供相似的功能,只是语法不同。在时间转化中一般用到convert,

     因为它比cast多加了一个style,可以转化成不同时间的格式。

      style:
  日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或
 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。

五.逻辑控制语句:

 1.begin-end 语句:

   类似C#语音的'{}',常在分支结构语句和循环结构语句中出现

 2.if-else条件语句:

    根据条件是否成立来确定程序的执行方向

  语法:

    if(条件)

  begin

     语句1

  end

    else

  begin

     语句2

   end

  3.while循环语句:

   使用while关键字,可以确保只要指定的条件为TRUE,就会反复执行语句,直到直到条件为FALSE为止.

   语法:

     while(条件)

        begin

           语句

          break 或者 continue

        end

  4.case-end多分支语句:

     case-end语句计算一组条件表达式,并且返回其中一个符合条件的结果.

      语法:

   case 

    when 条件1 then 结果1

    when 条件2 then 结果2  

     else  其他结果

   end

    case语句表示如果''条件1''成立,则执行''结果1'',如果when的条件都不成立,则执行else后的结果.

0 0