declare sql语句_SQL之TSQL

本文详细介绍了SQL中的T-SQL语法,包括变量的声明与赋值、批处理的概念、流程控制结构,特别是重点讨论了游标的使用场景和步骤,以及临时表的三种类型及其应用场景。此外,还提到了动态SQL的优缺点和存储过程的基本知识,以及标识列在数据库操作中的作用。
摘要由CSDN通过智能技术生成

9de449677116856005a16c97d99c4c94.png

26bcdbd48327c8dd3488b4cc131ac376.gif

阅读本文约需要7分钟

大家好,我是你们的导师,我每天都会在这里给大家分享一些干货内容(当然了,周末也要允许老师休息一下哈)。上次老师跟大家分享了下JAVA高级之反射的相关知识,今天跟大家分享SQL之T-SQL的知识。

参考来源:https://www.cnblogs.com/xiaoxiaogogo/p/3469785.html
下面就T-SQL的几个方面来分别讲解一下。

1、变量

 要动态的写sql语句,就不能没有变量。

 声明变量并赋值

 declare @i as int;--定义一个 int 类型的 变量 (as可以省略) print @i;--这注意:没有赋值之前,程序不会报错,而且输出一个 空 set @i=3; print @i;

在sql server 2008之后就可以对变量 在声明的同时进行赋值

declare @a int=3; print @a;

在变量的使用过程中,一定要注意nvarcahr 和nchar的区别。

declare @s nvarchar(20); set @s='Hello'; set @s=@s+' World!'; print @s;--输出的是 Hello  World!  declare @s2 nchar(20); set @s2='Hello'; set @s2=@s2+' World!'; print @s2;--输出的是 Hello。

为什么使用nchar却是输出的 Hello,因为:nchar是固定长度,即使长度没有达到最大,但是其余长度用 空来代替了,所以 相当于是满的,所以在进行字符串的相加 是不会起作用的。

在查询中赋值:

declare @now datetime; select @now=GETDATE(); print @now; declare @orderNum int; select @orderNum = COUNT(1) from [Sales.Orders];--这条查询语句只是用来 对 变量进行赋值的,不会返回查询结果的. print @orderNum; 

主要作用:是将查询结果保存在 变量里,为了下面的使用。

其实也可以使用 set 赋值的方式 实现 上面的作用

set @orderNum =(select COUNT(1) from [Sales.Orders]) print @orderNum

2、批处理

使用“go”,go前面的 所有的 语句处于在一个 批里面。不同批 的变量是不能互相调用。

3、流程控制

1)条件控制

 declare @minute int ; set @minute =DATEPART(minute,getdate()); if @minute>20    begin--一条语句可以将  begin end 省略       print '马上睡觉';    end else    print '继续快乐玩耍';

2)循环控制


 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值