SQL cursor用法实例_MsSql

复制代码 代码如下:

DECLARE @OldId varchar(50)  
DECLARE @CustomerID varchar(50)  
DECLARE My_Cursor CURSOR --定义游标  
FOR (select CustomerID,oldid from Customer where Area='bj') --查出需要的集合放到游标中  
OPEN My_Cursor; --打开游标  
FETCH NEXT FROM My_Cursor INTO @CustomerID,@OldId; --读取第一行数据  
WHILE @@FETCH_STATUS = 0     
    BEGIN    
       DECLARE @OtherPro VARCHAR(500)  
       DECLARE @StatusID varchar(200)  
       DECLARE @Userid varchar(200)  
       DECLARE @FinalUserid varchar(200)  

      SELECT @OtherPro=OtherPro,@StatusID=CustomerStatusID,@Userid=UserID FROM bjsunmis.dbo.Customer WHERE CustomerID=@OldId;  

      SELECT @FinalUserid=UserID from Users where oldid=@Userid  

      INSERT INTO CustomerotherInfo(CustomerID,OtherPro,CustomerStatusID,UserID)VALUES(@CustomerID,@OtherPro,@StatusID,@FinalUserid)  

     FETCH NEXT FROM My_Cursor INTO @CustomerID,@OldId; --读取下一行数据      
    END 
CLOSE My_Cursor; --关闭游标  
DEALLOCATE My_Cursor; --释放游标  
GO

时间: 2024-09-17 03:58:50

SQL cursor用法实例_MsSql的相关文章

SQL cursor用法实例

复制代码 代码如下:DECLARE @OldId varchar(50)   DECLARE @CustomerID varchar(50)   DECLARE My_Cursor CURSOR --定义游标   FOR (select CustomerID,oldid from Customer where Area='bj') --查出需要的集合放到游标中   OPEN My_Cursor; --打开游标   FETCH NEXT FROM My_Cursor INTO @CustomerI

SQL中位数函数实例_MsSql

表还是total_sales添加一项 表: SQL语句: 复制代码 代码如下: SELECT * from (     SELECT a1.Name, a1.Sales, COUNT(a2.sales) Sales_Rank     FROM Total_Sales a1, Total_Sales a2     WHERE a1.Sales < a2.Sales or (a1.Sales=a2.Sales and a1.Name = a2.Name)     GROUP BY a1.Name,

sqlserver 存储过程中If Else的用法实例_MsSql

现在要通过编程向B表中插入数据,可是在程序中是不允许给Int类型赋空值的如果不赋值就默认为0.为了解决这个问题,用到了存储过程的If Else,下面是完整的存储过程. 代码示例: 复制代码 代码如下: create PROCEDURE [dbo].[P_Form_Control_Info_Add]    @TypeName varchar(20),    @Description varchar(50),    @CtlColSpan int,    @Sort int,    @SourceI

Sql Server中Substring函数的用法实例解析_MsSql

SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分.这个函数的名称在不同的资料库中不完全一样: MySQL: SUBSTR( ), SUBSTRING( ) Oracle: SUBSTR( ) SQL Server: SUBSTRING( ) SQL 中的 substring 函数是用来截取一个栏位资料中的其中一部分. 例如,我们需要将字符串'abdcsef'中的'abd'给提取出来,则可用substring 来实现: select substring('abdcsef'

sql having用法与实例教程

sql having用法与实例教程 HAVING子句是可选的,结合使用group by子句.它类似于Where子句,但经条款规定的限制,确定哪些记录后,将显示他们已进行分组.它通常都处于SQL语句的结束,一个HAVING子句的SQL语句可能会也可能不包括group by子句. 对于拥有语法如下: SELECT column1, ... column_n, aggregate_function (expression) FROM table_name [WHERE condition] [GROU

Sql Server中Substring函数的用法实例解析

SQL 中的 substring 函数是用来抓出一个栏位资料中的其中一部分.这个函数的名称在不同的资料库中不完全一样: MySQL: SUBSTR( ), SUBSTRING( ) Oracle: SUBSTR( ) SQL Server: SUBSTRING( ) SQL 中的 substring 函数是用来截取一个栏位资料中的其中一部分. 例如,我们需要将字符串'abdcsef'中的'abd'给提取出来,则可用substring 来实现: select substring('abdcsef'

SQL Server 触发器实例详解_MsSql

Microsoft SQL Server 2000 提供了两种主要机制来强制业务规则和数据完整性:约束和触发器.触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程.触发器主要是通过事件进行触发被自动调用执行的.而存储过程可以通过存储过程的名称被调用. Ø 什么是触发器 触发器对表进行插入.更新.删除的时候会自动执行的特殊存储过程.触发器一般用在check约束更加复杂的约束上面.触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作.诸如:update.insert.delet

Oracle触发器用法实例详解_oracle

本文实例讲述了Oracle触发器用法.分享给大家供大家参考,具体如下: 一.触发器简介 触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行.因此触发器不需要人为的去调用,也不能调用.然后,触发器的触发条件其实在你定义的时候就已经设定好了.这里面需要说明一下,触发器可以分为语句级触发器和行级触发器.详细的介绍可以参考网上的资料,简单的说就是语句级的触发器可以在某些语句执行前或执行后被触发.而行级触发器则是在定义的了触发的表中的行数据改变时就会被触发一次. 具体举例: 1.

Oracle例外用法实例详解_oracle

本文实例讲述了Oracle例外用法.分享给大家供大家参考,具体如下: 一.例外分类 oracle将例外分为预定义例外.非预定义例外和自定义例外三种. 1).预定义例外用于处理常见的oracle错误. 2).非预定义例外用于处理预定义例外不能处理的例外. 3).自定义例外用于处理与oracle错误无关的其它情况. 下面通过一个小案例演示如果不处理例外看会出现什么情况? 编写一个存储过程,可接收雇员的编号,并显示该雇员的姓名. sql代码如下: SET SERVEROUTPUT ON; DECLAR