SQL中循环语句的效果实例
创始人
2024-07-13 13:30:40
0

循环语句是SQL中最常用的语句之一,下面就将以实例的方式示范SQL中循环语句的效果,供您参考,希望对您学习SQL中循环语句能够有所帮助。

假设HRS_Group存在7条记录,GroupID分别为3、4、5、6、7、13、14

执行如下Sql语句:

  1. declare @sSql varchar(8000)  
  2. select @sSql = '' 
  3. select @sSql = @sSql + 'alter table #tt add A' + rtrim(convert(varchar(20), GroupID)) + ' decimal(5, 1) ' + CHAR(10)  
  4.  from HRS_Group where Type = 0 order by GroupID  
  5. select @sSql 

执行得到@sSql的值:

  1. ----------------------------------------------------------------------------------------  
  2. alter table #tt add A3 decimal(5, 1)   
  3. alter table #tt add A4 decimal(5, 1)   
  4. alter table #tt add A5 decimal(5, 1)   
  5. alter table #tt add A6 decimal(5, 1)   
  6. alter table #tt add A7 decimal(5, 1)   
  7. alter table #tt add A13 decimal(5, 1)   
  8. alter table #tt add A14 decimal(5, 1)  
  9. ----------------------------------------------------------------------------------------  

该Sql语句

  1. select @sSql = @sSql + 'alter table #tt add A' + rtrim(convert(varchar(20), GroupID)) + ' decimal(5, 1) ' + CHAR(10)  
  2.  from HRS_Group where Type = 0 order by GroupID 

是通过以GroupID大小为顺序,从数据库7次取值而对@sSq进行了7次拼接,起到了循环的效果,CHAR(10)表示换行


若将以上语句做如下修改:

 

  1. declare @sSql varchar(8000)  
  2. select @sSql = 'alter table #tt add A' + rtrim(convert(varchar(20), GroupID)) + ' decimal(5, 1) ' + CHAR(10)  
  3.  from HRS_Group where Type = 0 order by GroupID  
  4. select @sSql 

执行得到@sSql的值:

  1. ----------------------------------------------------------------------------------------  
  2. alter table #tt add A14 decimal(5, 1)   
  3. ---------------------------------------------------------------------------------------- 

是通过以GroupID大小为顺序,从数据库7次取值而对@sSq进行了7赋值,但因为没有拼接,所以@sSql只保留了第7次的赋值
 

 

 

【编辑推荐】

SQL中类似For循环处理的实例

对存储过程代替SQL语句的讨论

SQL聚合函数之Avg 函数

Transact-SQL变量的声明

设置Transact-SQL变量中的值

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...
范例解读VB.NET获取环境变... VB.NET编程语言的使用范围非常广泛,可以帮助开发人员处理各种程序中的需求,而且还能对移动设备进行...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...