这么多年第一次自己去用游标和临时表

       汗颜,做了这么多年开发自己第一次用游标和临时表

      还是借助度娘才写出来的,请大家给指点下。。。

 1 CREATE PROCEDURE [dbo].[sp_LaodDefaultFM]
 2 (
 3  @ExhID int ,
 4  @DefaultExhID INT,
 5 @Result INT
 6  )
 7 AS 
 8 BEGIN           
 9 --判断当前会话中临时表是否存在
10 if exists(select * from dbo.sysobjects where object_id('tempdb.dbo.#temp') is not null)
11  DROP TABLE #temp
12  ELSE
13  CREATE     TABLE #temp(FsvID INT,      FskID INT, FsvValue NVARCHAR(500)    )
14   if exists(select * from dbo.sysobjects where object_id('tempdb.dbo.#temp2') is not null)
15  delete from #temp2
16 declare @defaultfsv int    
17 INSERT  INTO #temp SELECT FsvID,FskID,FsvValue FROM dbo.FuncSetValue    WHERE ExhID=@DefaultExhID
18 
19 --开始事务
20 BEGIN TRAN
21 DECLARE @error INT
22 declare @suberror INT 
23 SET @error=0      SET @suberror=0
24 --声明游标
25 DECLARE fsvindex CURSOR FOR SELECT fsvid FROM #temp
26 --打开游标
27 OPEN fsvindex 
28  WHILE @@FETCH_STATUS=0
29 
30 BEGIN
31 --开始循环游标变量
32 FETCH NEXT FROM fsvindex INTO @defaultfsv
33 --执行操作
34 DECLARE @curfsvid INT 
35 INSERT dbo.FuncSetValue( FskID ,FsvValue ,FsvCreatetime ,ExhID )( SELECT FskID,FsvValue,GETDATE(),@ExhID FROM dbo.FuncSetValue WHERE FsvID=@defaultfsv)
36 SET @curfsvid=(SELECT @@IDENTITY)
37 IF @curfsvid>0
38 BEGIN
39 INSERT dbo.FuncSetSubValue( FssID ,FsvID ,FbvKey ,FbvValue ,FbvCreatime ,FbvOrderStr)( SELECT FssID,@curfsvid,FbvKey,FbvValue,GETDATE(),0 FROM dbo.FuncSetSubValue WHERE FsvID=@defaultfsv)SET @suberror=@suberror+@@ERROR
40 END
41 ELSE
42 BEGIN
43 SET @error=@error+1
44 END
45 END
46 
47 
48 IF @error=0 AND @suberror=0
49 BEGIN
50 SET @Result=1
51 COMMIT TRAN
52 END
53 ELSE
54 BEGIN
55 SET @Result=0
56 ROLLBACK TRAN
57 END
58 --关闭游标
59 CLOSE fsvindex
60 --释放游标
61 DEALLOCATE fsvindex
62 SELECT @Result
63      
64 
65 END
66 
67 
68 
69 
70 
71 GO
Code

 

转载于:https://www.cnblogs.com/qzzy/p/8168658.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/368327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设置MongoDB副本集分为4个步骤

介绍 在详细介绍配置MongoDB副本集之前,让我简要介绍一下它们: 副本集是Mongodb数据库提供的功能,可实现高可用性和自动故障转移。 它是一种传统的主从配置,但具有自动故障转移功能。 基本上,它是mongod实例的组/集…

PHP ajax跨域问题最佳解决方案

一、本文通过设置Access-Control-Allow-Origin来实现跨域。 例如:客户端的域名是client.runoob.com,而请求的域名是server.runoob.com。 如果直接使用ajax访问,会有以下错误: XMLHttpRequest cannot load http://server.runoob.co…

java jpa 注解_Java : JPA相关以及常用注解

SpringDataJPA自定义的查询方法 定义规范And 并且Or     或Is,Equals    等于Between     两者之间LessThan      小于LessThanEqual   小于等于GreaterThan     大于GreaterThanEqual  大于等于After    之后(时间) >Before    之前(时间)…

一篇文章搞定css3 3d效果

css3 3d学习心得 卡片反转魔方banner图 首先我们要学习好css3 3d一定要有一定的立体感 通过这个图片应该清楚的了解到了x轴 y轴 z轴是什么概念了。 首先先给大家看一个小例子: 卡片反转 这个例子只是简单的纯css3 3d 关于y轴旋转 下面是代码: 这是HT…

5个编码技巧以减少GC开销

在本文中,我们将介绍五种方法,这些方法可以使用有效的编码来帮助垃圾回收器减少分配和释放内存的CPU时间,并减少GC开销。 较长的GC通常会导致我们的代码在回收内存时被停止(也称为“停止世界”)。 一些背景 GC的建立…

c#阿里云服务器发送邮件

public static void SendMailUse(){string host "smtp.lotusest.com";// 邮件服务器smtp.163.com表示网易邮箱服务器 string userName "s********t.com";// 发送端账号 string password "11111111";// 发送端密码(这个客户端重置后的密码…

java usb 无驱打印_Windows Usb 无驱动打印

\?\USB#VID_8866&PID_0100#0001B0000000#{a5dcbf10-6530-11d2-901f-00c04fb951ed}USB小票打印解决办法一、需要驱动,无需更改程序安装USB打印驱动,然后共享打印机,通过 “\\计算机\打印机名”的形式,按端口方式写。1二、直接…

需要学习的东西列表

1.Python2.webservice3.requirejs4.idea5.webService6.redis7.doubble8.mongDB9.zookper 大数据学习曲线:课程一、大数据运维之Linux基础课程二、大数据开发核心技术-Hadoop 2.x从入门到精通课程三、大数据开发核心技术-大数据仓库Hive精讲课程四、大数据协作框架-S…

微信小程序 引用其他js里的方法

微信小程序中,在微信官方开发文档我们可以知道 小程序的目录结构 。 一个小程序页面由四个文件组成,一个小程序页面的四个文件具有相同路径与文件名,由此我们可知一个小程序页面对应着一个跟页面同名的js文件。可是当有些公共方法&#xff0…

集成JavaFX和Swing(修订版)

我刚刚完成了对使用Swing的应用程序组件的重写,现在正在使用JavaFX,最后得到了与更大的swing应用程序集成的JavaFX组件。 这是一个很大的应用程序,重写花了我一段时间,最后一切都很好,我很高兴自己做到了。 您可能想在…

C++内存模型

C内存模型 一文了解所有C内存的问题 AlexCool 目录 一 C内存模型 二 C对象内存模型 三 C程序运行内存空间模型 四 C栈内存空间模型 五 C堆内存空间模型 六 C内存问题及常用的解决方法 七 C程序内存性能测试 环境: uname -a Linux alexfeng 3.19.0-15-generic #…

java bag_Java - T---bag - 博客园

Java是一门面向对象编程语言,不仅吸收了C语言的各种优点,还摒弃了C里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,…

IT服务(运维)管理实施的几个要点--序言

IT服务(运维)管理(不是IT运维技术)是IT行业当中相对比较“窄”的一个分支,通常只被金融、电信等大型数据中心的中高层管理人员所关注。但是根据笔者多年从事IT服务和服务管理的经验来看,IT服务并不是一件容…

HTML条件注释

前面的话 IE条件注释是微软从IE5开始就提供的一种非标准逻辑语句,作用是可以灵活的为不同IE版本浏览器导入不同html元素。很显然这种方法的最大好处就在于属于微软官方给出的兼容解决办法而且还能通过W3C的效验 识别IE 因为从IE10开始,IE浏览器已经不再支…

MongoDB主键是您的朋友

MongoDB集合中的所有文档都有一个主键,称为_id 。 该字段在插入后自动分配给文档,因此几乎不需要提供它。 _id字段的有趣之处在于它是基于时间的 。 也就是说,基础类型的_id ,这是ObjectId ,是一个12字节的BSON型 &…

java getqueue 0_Java Queue的使用

Queue 实现一个先进先出的队列获取队列长度:size()添加元素到队尾:boolean add(E e) /boolean offer(E e)获取队列头部元素并删除:E remove() / E poll()获取队列头部元素但不删除:E element() / E peek()当添加或获取元素失败时t…

1015. Reversible Primes (20)

生词以及在文中意思prime 素数1.java十进制转为N进制:Integer.toString(int i,int radix)//返回的是i的二进制表示,返回类型为String,但是负数不适用。 N进制转为十进制:Integer.parseInt(String s,int radix)//radix进制的s&…

PAT 乙级 1029 旧键盘

1029 旧键盘 分数 20 作者 CHEN, Yue 单位 浙江大学 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现。现在给出应该输入的一段文字、以及实际被输入的文字,请你列出肯定坏掉的那些键。 输入格式: 输入在 2 行中…

css之absolute

一、absolute和float有相同的特性&#xff0c;包裹性和破坏性 1、absolute和float的相似(看下面的demo&#xff0c;如果图片在左上角&#xff0c;那么用float和absolute都一样) 1 <!doctype html>2 <html>3 <head>4 <meta charset"utf-8">5…

Spring Data Solr教程:分页

在我的Spring Data Solr教程的较早部分中&#xff0c;我们实现了一个简单的搜索功能&#xff0c;该功能用于搜索待办事项的信息。 我们搜索功能的当前实现将所有搜索结果显示在一个页面中。 对于大多数现实生活中的应用程序而言&#xff0c;这不是可行的解决方案&#xff0c;因…