1. DECLARE @UserID INT; --推广员帐号
  2. DECLARE @ProxyID INT; --代理帐号
  3. DECLARE @Score INT=1000; --分数
  4. SELECT
  5. @UserID = [SpreaderID]
  6. FROM
  7. [QPAccountsDB].[dbo].[AccountsInfo]
  8. WHERE
  9. UserID = 5055;
  10. SELECT --查出推广员的代理帐号
  11. @ProxyID = ProxyID
  12. FROM
  13. [QPAccountsDB].[dbo].[AccountsInfo]
  14. LEFT JOIN
  15. [QPProxyDB].[dbo].[BS_ProxyInfo]
  16. ON BS_ProxyInfo.account = AccountsInfo.Accounts
  17. WHERE
  18. UserID = @UserID;
  19. PRINT @ProxyID;
  20. CREATE TABLE #ProxyInfo
  21. (
  22. belongsAgent INT,
  23. assignProportion TINYINT
  24. );
  25. WITH cte
  26. AS ( SELECT
  27. belongsAgent
  28. FROM
  29. [QPProxyDB].[dbo].[BS_ProxyInfo]
  30. WHERE
  31. ProxyID = @ProxyID
  32. AND belongsAgent <> -1
  33. UNION ALL
  34. SELECT
  35. a.belongsAgent
  36. FROM
  37. [QPProxyDB].[dbo].[BS_ProxyInfo] a
  38. JOIN
  39. cte b
  40. ON a.ProxyID = b.belongsAgent
  41. WHERE
  42. a.belongsAgent <> -1)
  43. INSERT #ProxyInfo
  44. (
  45. belongsAgent,
  46. assignProportion
  47. )
  48. SELECT
  49. BS_ProxyInfo.ProxyID,
  50. assignProportion
  51. FROM
  52. cte LEFT JOIN [QPProxyDB].[dbo].[BS_ProxyInfo] ON BS_ProxyInfo.ProxyID = cte.belongsAgent
  53. ORDER BY
  54. BS_ProxyInfo.belongsAgent ASC;
  55. ---游标更新删除当前数据
  56. ---1.声明游标
  57. DECLARE cursor01 CURSOR SCROLL FOR
  58. SELECT
  59. *
  60. FROM
  61. #ProxyInfo
  62. ORDER BY
  63. belongsAgent ASC;
  64. DECLARE @AllTax INT
  65. SET @AllTax =@Score
  66. --2.打开游标
  67. OPEN cursor01;
  68. --3.声明游标提取数据所要存放的变量
  69. DECLARE
  70. @belongsAgent INT,
  71. @assignProportion TINYINT;
  72. --4.定位游标到哪一行
  73. FETCH FIRST FROM cursor01
  74. INTO
  75. @belongsAgent,
  76. @assignProportion; --into的变量数量必须与游标查询结果集的列数相同
  77. WHILE @@fetch_status = 0 --提取成功,进行下一条数据的提取操作
  78. BEGIN
  79.  
  80. SET @AllTax=@assignProportion*@AllTax/100
  81. UPDATE [QPProxyDB].[dbo].[BS_ProxyInfo] SET allTax+=@AllTax WHERE ProxyID=@belongsAgent
  82. FETCH NEXT FROM cursor01
  83. INTO
  84. @belongsAgent,
  85. @assignProportion; --移动游标
  86. END;
  87. CLOSE cursor01;
  88. DEALLOCATE cursor01;
  89. DROP TABLE #ProxyInfo;

游标和递归sql 的一些代码的更多相关文章

  1. java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 出现错误

    后台报出如下错误: Caused by: java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01000: 超出打开游标的最大数 ORA-00 ...

  2. 使用BAT批处理执行sql语句的代码

    使用BAT批处理执行sql语句的代码 有时候需要执行一些Sql语句时,不想开企业管理器,或者是发给客户执行但那边又不懂代码,这时就可以用下面方法 1.把待执行Sql保存在一个文件,这里为2011022 ...

  3. PHP之SQL防注入代码集合(建站常用)

    SQL防注入代码一 <?php if (!function_exists (quote)) { function quote($var) { if (strlen($var)) { $var=! ...

  4. 使用游标循环进行SQL更新插入的SQL语句

    使用SQL中的循环,可以实现许多我们需要的操作,比如SQL更新操作.下面就为您介绍使用游标循环进行SQL更新插入的SQL语句写法,希望对您深入学习SQL更新有所帮助. --开始事务 BEGIN TRA ...

  5. php防sql注入过滤代码

    防止sql注入的函数,过滤掉那些非法的字符,提高sql安全性,同时也可以过滤XSS的攻击. function filter($str) { if (empty($str)) return false; ...

  6. SQL备份数据库代码

    SQL备份数据库代码 #region 服务每天备份一次数据库 /// <summary> /// 服务每天备份一次数据库 /// </summary> public void ...

  7. 修改Oracle游标数及排查游标问题相关SQL

    查看当前游标数show parameter open_cursors; 修改游标最大数 ; commit; 查看游标消费情况 select o.sid, osuser, machine, count( ...

  8. 20.Ecshop 2.x/3.x SQL注入/任意代码执行漏洞

    Ecshop 2.x/3.x SQL注入/任意代码执行漏洞 影响版本: Ecshop 2.x Ecshop 3.x-3.6.0 漏洞分析: 该漏洞影响ECShop 2.x和3.x版本,是一个典型的“二 ...

  9. 特殊字符的过滤方法,防sql防注入代码的过滤方法

    特殊字符的过滤方法 function strFilter($str){ //特殊字符的过滤方法 $str = str_replace('`', '', $str); $str = str_replac ...

随机推荐

  1. requestAnimFrame 动画的使用方法

    //requestAnimFrame 封装,可以兼容所有浏览器 window.requestAnimFrame = (function(){ return window.requestAnimatio ...

  2. 关于springboot aop 俩次调用的问题 aop多次调用

    由于我在springboot 启动类中 给我的切面类进行了赋值  即@Bean 然而我在切面类中加了@Component 导致 springboot 注入了俩个 bean  所以导致 aop 多次执行 ...

  3. github相关指令学习

    正在廖雪峰官网学习关于git的相关知识,已经不是第一次来学习,但是忘得太快,索性这次边学边记录笔记,加深记忆,方便后期查看 1.找到一个合适的地方,鼠标右键 Git Bush Here ,新建文件夹, ...

  4. xshell 会话管理器快捷键

    有没有发现xshell6关闭左边的会话管理器以后,打开就比较麻烦 那么可以自定义一个快捷键来打开: 然后输入一个快捷键 类型选择 菜单-->然后找会话管理器 完事儿 也可以自定义其他快捷键.自己 ...

  5. Android privilege escalation to mediaserver from zero permissions (CVE-2014-7920 + CVE-2014-7921)

    墙外通道:http://bits-please.blogspot.com/2016/01/android-privilege-escalation-to.html In this blog post ...

  6. python3爬虫——下载unsplash美图到本地

    最近发现一个网站www.unsplash.com ( 没有广告费哈,纯粹觉得不错 ),网页做得很美观,上面也都是一些免费的摄影照片,觉得很好看,就决定利用蹩脚的技能写个爬虫下载图片. 先随意感受一下这 ...

  7. 图像边缘检测——几种图像边缘检测算子的学习及python 实现

    本文学习利用python学习边缘检测的滤波器,首先读入的图片代码如下: import cv2 from pylab import * saber = cv2.imread("construc ...

  8. 深入学习sequoiadb巨杉数据库及python连接方式

    随着公司日益复杂与多变的需求,以及迅速扩展带来的海量数据业务,我们需要在提供高效服务的同时,降低其设备与程序维护成本.算了,不吹了,说白了就是需要从巨杉数据库中抓取大量的数据,但是我现在不会,所以需要 ...

  9. Modifying namespace in XML document programmatically

    Modifying namespace in XML document programmatically static XElement stripNS(XElement root) { return ...

  10. Apache RocketMQ在linux上的常用命令

    Apache RocketMQ在linux上的常用命令 进入maven安装后的rocketmq的bin目录  1.启动Name Server  2.启动Broker 3.关闭Name Server 4 ...