首页 > 数据库 >SQL Server游标

SQL Server游标

时间:2023-08-20 14:44:07浏览次数:38  
标签:orderNum name -- 游标 Server cursor SQL declare

文章来源:SQL Server游标 - 张龙豪 - 博客园 (cnblogs.com)

 

 --5.利用游标更新删除数据 
 ---游标更新删除当前数据
---1.声明游标
declare orderNum_03_cursor cursor scroll
for select OrderId ,userId from bigorder where orderNum='ZEORD003402'
--2.打开游标
open orderNum_03_cursor
--3.声明游标提取数据所要存放的变量
declare @OrderId int ,@userId varchar(15)
--4.定位游标到哪一行
fetch First from orderNum_03_cursor into @OrderId,@userId  --into的变量数量必须与游标查询结果集的列数相同
while @@fetch_status=0  --提取成功,进行下一条数据的提取操作 
 begin
   if @OrderId=122182
     begin
     Update bigorder Set UserId='123' Where Current of  orderNum_03_cursor  --修改当前行
     end
   if @OrderId=154074
      begin
      Delete bigorder Where Current of  orderNum_03_cursor  --删除当前行
      end
   fetch next from orderNum_03_cursor into @OrderId ,@userId  --移动游标
 end

 --示例2
declare @id char(50)
declare @names char(50)
declare @age int
set @age=27
declare @ages int
declare cur_name cursor for --声明游标
select id,names,age from table_name
open cur_name    --打开游标
fetch next from cur_name into @id,@names,@ages  --获取游标的下一行
while @@FETCH_STATUS=0    
begin
if @age=@ages
begin
    delete from table_name where ages=@ages        --执行删除操作
end
fetch next from cur_name into  @id,@names,@ages  --获取游标的下一行
end
close cur_name        --关闭游标
deallocate cur_name        --释放游标

 

标签:orderNum,name,--,游标,Server,cursor,SQL,declare
From: https://www.cnblogs.com/xjxue/p/17643918.html

相关文章

  • 为什么NoSQL不支持事务
    为什么NoSQL不支持事务1.背景看书《Neo4j权威指南》的时候,发现个问题:日常的NoSQL都不支持事务(ACID)。2.问题事务对数据的存储过程是有利的,既然事情是有利的,理论上存储型数据库都应该支持事务。但事实上是只有很少的一部分数据库支持事务,比如MySQL,Neo4j,并且MySQL也只有部分存......
  • rhel 6.5搭建MySQL 5.5.18一主一从高可用架构
    文档课题:rhel6.5搭建MySQL5.5.18一主一从高可用架构.系统:rhel6.564位数据库:MySQL5.5.18数据库安装包:mysql-5.5.18.tar.gzXtrabackup安装包:percona-xtrabackup-24-2.4.6-2.el6.x86_64.rpm架构信息如下:1、主从搭建1.1、前期准备安装两台MySQL数据库主机后,配置好主机IP地......
  • MysSQL 行转列以及列转行(学生的各科成绩,以及总分和平均分)
    一、行转列即将原本同一列下多行的不同内容作为多个字段,输出对应内容。1.建表语句--新建学生成绩表DROPTABLEIFEXISTStb_score;createtabletb_score(idint(11)notnullauto_increment,user_noVARCHAR(32)notnullcomment'学生工号',subject......
  • SQL Server触发器
    文章来源: SQLServer触发器-hoojo-博客园(cnblogs.com)--触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。--而存储过程可以通过存储过程的名称被调用。--触发器对表进行插入、更新、删除的时候会自......
  • Centos安装MySQL数据库
    写在前面本文使用的root账户进行操作,若不是root账户需要在操作前加上sudo大家一定要注意数据库安全问题啊......
  • MySQL中的事务基础
    事务的ACID特性MySQL中的事务指的是在数据库操作中,将一组SQL语句作为一个不可分割的执行单元进行处理的机制。事务具有原子性、一致性、隔离性和持久性的特性(ACID特性)。原子性(Atomicity):事务中的所有操作要么全部成功执行,要么全部失败回滚。如果事务执行过程中发生错误或中断,系统......
  • TiDB dumpling 导出MySQL 数据遇异常
    最近在学习研究TiDB数据库运维,据介绍逻辑导出工具dumpling是可以兼容MySQL数据库的,于是进行了测试数据库版本信息如下: 新建了两张表t1,t2: 利用存储过程批量插入500000行记录:dropPROCEDUREp_load2;delimiter$$createPROCEDUREp_load2(INtbnamevarchar(64),IN......
  • SQL语句优化
    一、操作符优化1.IN、NOTIN操作符IN和EXISTS性能有外表和内表区分的,但是在大数据量的表中推荐用EXISTS代替IN。NotIN不走索引的是绝对不能用的,可以用NOTEXISTS代替2.ISNULL或ISNOTNULL操作 索引是不索引空值的,所以这样的操作不能......
  • Sql Server数据库自身优化
    优化①:增加次数据文件,设置文件自动增长(粗略数据分区)  1.1:增加次数据文件从SQLSERVER2005开始,数据库不默认生成NDF数据文件,一般情况下有一个主数据文件(MDF)就够了,但是有些大型的数据库,由于信息很多,而且查询频繁,所以为了提高查询速度,可以把一些表或者一些表中的部分记录......
  • SQL Server索引
    SQL索引在数据库优化中占有一个非常大的比例,一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱。1.1什么是索引?SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQLServer系统的性能,加快数据的查询速度与减少系统的响......