--第一
 
declare @orderNum varchar(255)
create table #ttableName(id int identity(1,1),Orders varchar(255))
declare @n int,@rows int insert #ttableName(orders) select orderNum from FOrders where orderId<50
--select @rows=count(1) from pe_Orders
select @rows =@@rowcount
set @n=1
while @n<=@rows
  begin
    select @orderNum=OrderNum from PE_Orders where OrderNum=(select Orders from #ttableName where id=@n)
    print (@OrderNum)
    select @n=@n+1
  end
drop table #ttableName
 
 
--第二

declare @tmp varchar(50)--临时变量,用来保存游标值
declare y_curr cursor for --申明游标 为orderNum
select orderNum from FOrders where orderId<50
open y_curr --打开游标
fetch next from Y_curr into @tmp ----开始循环游标变量
while(@@fetch_status=0)---返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。
  begin
    print (@tmp)
    update FOrders set Functionary+@tmp where orderNum=@tmp --操作数据库
    fetch next from y_curr into @tmp --开始循环游标变量
  end
close y_curr--关闭游标
deallocate y_curr --释放游标

--第三

select orderNum,userName,MoneyTotal into #t from FOrders po
DECLARE @n int,@error int
--set @n=1
set @error=0
  BEGIN TRAN --申明事务
    declare @tmp varchar(50),@userN varchar(50) --临时变量,用来保存游标值
    declare y_curr cursor for --申明游标 为orderNum,userName
    select orderNum,userName from FOrders where Orderid<50
    open y_curr
    fetch next from y_curr into @tmp,@userN
    while @@fetch_status = 0
      BEGIN
        select isnull(sum(MoneyTotal),0),orderNum from #t where username=@userN
        -- set @n=@n+1
        set @error=@error+@@error--记录每次运行sql后 是否正确 0正确
        fetch next from y_curr into @tmp,@userN
      END
    IF @error=0
    BEGIN
  commit tran --提交
END
ELSE
  BEGIN
    ROLLBACK TRAN --回滚
  END
close y_curr
deallocate y_curr
DROP TABLE #t

sql 循环语句几种方式(变量循环,游标循环,事务)的更多相关文章

  1. sql 循环语句几种方式

    --第一   declare @orderNum varchar(255) create table #ttableName(id int identity(1,1),Orders varchar(2 ...

  2. 盘点用jQuery框架实现“for循环”的四种方式!

    摘要:分享在jQuery高级开发中对元素标签体的遍历常用的几种方法. 本文分享自华为云社区<盘点用jQuery框架实现"for循环"的四种方式!>,原文作者:灰小猿 . ...

  3. 预处理(防止sql注入的一种方式)

    <!--- 预处理(预编译) ---><?php/* 防止 sql 注入的两种方式: 1. 人为提高代码的逻辑性,使其变得更严谨,滴水不漏. 比如说 增加判断条件,增加输入过滤等,但 ...

  4. SQL 循环语句几种写法

    1.正常循环语句 declare @orderNum varchar(255)create table #ttableName(id int identity(1,1),Orders varchar( ...

  5. php数组循环的三种方式

    PHP 的遍历数组的三种方式:for循环.foreach循环.while.list().each()组合循环 PHP当中数组分为:索引数组[转换成json是数组]和关联数组[转换成json是对象] f ...

  6. 自动化运维必须要学的Shell脚本之——循环语句(for、while和until循环)

    1. 循环前先了解echo的使用 1.1 echo -n 表示不换行输出 1.2 echo -e 输出转义字符,将转义后的内容输出到屏幕上 常见的转义字符有: 1.2.1 \b 相当于退格键 转义后相 ...

  7. 循环语句:LOOP,WHILE和数字式循环

    一 简单循环 1 语法: LOOP      要执行的语句;      EXIT WHEN <条件语句> --条件满足,退出循环语句  END LOOP; 2 例子: DECLARE    ...

  8. python(3)- 循环语句:从最内层跳出多层循环

    跳出多层循环:三层循环,最里层直接跳出3层 方法一: 在Python中,函数运行到return这一句就会停止,因此可以利用这一特性,将功能写成函数,终止多重循环 def work(): #定义函数 f ...

  9. sql优化的8种方式

    1.设置索引. MySQL索引操作:给表列创建索引: 建表时创建索引: create table t(id int,name varchar(20),index idx_name (name)); 给 ...

随机推荐

  1. 火狐浏览器之伪造IP地址

    前言: 前段时间,测试过程中需要伪造来源IP地址,百思不得其解,因而发现火狐浏览器的这个Modify Headers插件,十分好用,推荐给大家. 步骤: 1.安装插件Modify Headers 进入 ...

  2. Vue 入门之 Vuex 实战

    Vue 入门之 Vuex 实战 引言 Vue 组件化做的确实非常彻底,它独有的 vue 单文件组件也是做的非常有特色.组件化的同时带来的是:组件之间的数据共享和通信的难题. 尤其 Vue 组件设计的就 ...

  3. 作业 20181204-5 Final阶段贡献分配规则及实施

    此作业要求参见:[https://edu.cnblogs.com/campus/nenu/2018fall/homework/2479] 小组介绍 组长:付佳 组员:张俊余 李文涛 孙赛佳 田良 于洋 ...

  4. Java实验报告(实验一)

    课程:Java程序设计          班级: 1351 姓名:王玮怡                学号:20135116 成绩:             指导教师:娄嘉鹏       实验日期: ...

  5. 第一次Sprint冲刺结果评价

    组名 软件项目名称 评价 hzsy 图文转换        这款软件最初的目标是扫描书本上文字转换成电子版,而且也可以将语音转换成文字,但在展示时,没有实现完整的功能,只有简单的界面,看不到更深的实质 ...

  6. Linux命令(四)删除文件 rm

    用户可以使用 rm 命令删除不需要的文件. rm 可以删除文件或目录,并且支持通配符. 如果目录中存在其它文件则会递归删除. 删除软链接只是删除链接,对应的文件或目录不会被删除. 软链接类似于 win ...

  7. Yii 框架的Rbac [权限控制]

    转载自 xmlife 的博客 : http://blog.csdn.net/xmlife/article/details/50733451 1.首先我们要在配置文件的组件(component)里面配置 ...

  8. 通过动态包含和Ajax机制抽取Web应用的公共页面

    在Java Web应用开发中,经常遇到的一种情况是,许多的页面中都包含着“公共页面”,这部分动态页面的特征是:访问量大,会带来较大的性能压力.功能设计上会动态地改变自身的元素.比如在登录前和登录后所展 ...

  9. Delphi 之 菜单组件(TMainMenu)

    菜单组件TMainMenu 创建菜单双击TmenuMain,单击Caption就可以添加一个菜单项 菜单中添加分割线只需加“-”就可以添加一个分割线 级联菜单的设计 单击鼠标右键弹出菜单中选择Crea ...

  10. python自动化之excel

    import openpyxl wb=openpyxl.load_workbook(r'C:\Users\Administrator\Desktop\sl.xlsx') type(wb) wb.get ...