加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL Server Transact-SQL 编程

发布时间:2020-12-12 09:03:33 所属栏目:MsSql教程 来源:网络整理
导读:T-SQL语句用于管理SQL Server数据库引擎实例,创建和管理数据库对象,以及查询、插入、修改和删除数据。 ? 变量 ???? 1、 局部变量(Local Variable) ????????? 局部变量是用户可以自定义的变量,它的作用范围是仅在程序内部,在程序中通常用来储存从表中查

T-SQL语句用于管理SQL Server数据库引擎实例,创建和管理数据库对象,以及查询、插入、修改和删除数据。

? 变量

???? 1、 局部变量(Local Variable)

????????? 局部变量是用户可以自定义的变量,它的作用范围是仅在程序内部,在程序中通常用来储存从表中查询到的数据或当做程序执行过程中的暂存变量。使用局部变量必须以@开头,而且必须用declare命令后才能使用。

?

????????? 基本语法:

 @变量名 变量类型 [@变量名 变量类型]
 @变量名 = 变量值;
 @变量名 = 变量值;

?????????

????????? 示例:

 @id (10)--声明一个长度的变量id
 @age     --声明一个int类型变量age
 @id = 22    --赋值操作
 @age = 55    --赋值操作
 ((10),@age) +  + @id
 @age,@id

 @name (20);
 @ (200);
 @name = ;
 @ = @name + ;
 @;
 @id ,@name (20);
 @id = 1;
 @name = name  student  id = @id;
 @name;
 @name (20);
 @name = ;
 *  student  name = @name;

????????? 从上面的示例可以看出,局部变量可用于程序中保存临时数据、传递数据。Set赋值一般用于赋值指定的常量个变量。而select多用于查询的结果进行赋值,当然select也可以将常量赋值给变量。

????????? 注意:在使用select进行赋值的时候,如果查询的结果是多条的情况下,会利用最后一条数据进行赋值,前面的赋值结果将会被覆盖。

?

???? 2、 全局变量(Global Variable)

????????? 全局变量是系统内部使用的变量,其作用范围并不局限于某一程序而是任何程序均可随时调用的。全局变量一般存储一些系统的配置设定值、统计数据。

 @@;--最后一次自增的值
 (,1,1)  id  tab  student;--将studeng表的烈属,以/1自增形式创建一个tab
 *  tab;
 @@;--影响行数
 @@cursor_rows;--返回连接上打开的游标的当前限定行的数目
 @@error;--T-SQL的错误号
 @@procid;
 datefirst 7;--设置每周的第一天,表示周日
   ,datepart(dw,getDate())  ;
 @@dbts;--返回当前数据库唯一时间戳
  ;
   ;--返回语言id
   ;--返回当前语言名称
 @@lock_timeout;--返回当前会话的当前锁定超时设置(毫秒)
 @@max_connections;--返回SQL Server 实例允许同时进行的最大用户连接数
   ;--返回decimal 和numeric 数据类型所用的精度级别
 @@SERVERNAME;-- Server 的本地服务器的名称
 @@SERVICENAME;--服务名
 @@SPID;--当前会话进程id
 @@;
 @@version;--当前数据库版本信息
 @@CONNECTIONS;--连接数
 @@PACK_RECEIVED;
 @@CPU_BUSY;
 @@PACK_SENT;
 @@TIMETICKS;
 @@IDLE;
 @@TOTAL_ERRORS;
 @@IO_BUSY;
 @@TOTAL_READ;--读取磁盘次数
 @@PACKET_ERRORS;--发生的网络数据包错误数
 @@TOTAL_WRITE;--sqlserver执行的磁盘写入次数

?

? 输出语句

???? T-SQL支持输出语句,用于显示结果。常用输出语句有两种:

???? 基本语法

变量或表达式
 变量或表达式

????

????? 示例

1 + 2;
 @@;
 user_name();
 1 + 2;
 @@;
 user_name();

???? print在输出值不少字符串的情况下,需要用convert转换成字符串才能正常输出,而且字符串的长度在超过8000的字符以后,后面的将不会显示。

?

? 逻辑控制语句

???? 1、 if-else判断语句

????????? 语法

<表达式>

  <表达式>





????????? 示例

 2 > 3
  3';

 ;
 (2 > 3)
  3';
  (3 > 2)
  2';
 ;
 @id (10),
(20),
(20);
 @name = ;
 @id = id  ab_area  areaName = @name;
 @pid = pid  ab_area  id = @id;
 @id +  + @pid;
 @pid > @id

 @id + ;
 *  ab_area  pid  @id + ;


 @id + ;
 @id +  + @pid;
 *  ab_area  pid = @pid;




????

?????? 2、 while…continue…break循环语句

????????? 基本语法

<表达式>


]
]





????????? 示例

 @i ;
 @i = 1;
 (@i < 11)
 @i;
 @i = @i + 1;


  输出到
                
 (@i < 5)

 @i = @i + 1;
;        

 @i;
 @i = @i + 1;                
  输出到
 @i ;
 @i = 1;
 (1 = 1)
        
 @i;        
 (@i >= 5)
;        
        
 @i = @i + 1;                




????

???? 3、 case

????????? 基本语法

 <条件表达式>  <运算式>
 <条件表达式>  <运算式>
 <运算式>]
 *,monospace; direction: ltr; border-top-style: none; color: black; font-size: 10pt; border-left-style: none; overflow: visible; padding-top: 0px">     sex 
 1  
 0      
 
  
 student;
 areaName, = 
 areaType =   areaName + areaType
 areaType =   
 areaType =   
 
 ab_area;

????

?????? 4、 其他语句

 master

 delay ;--定时三秒后执行
 ;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读