SQL Server 通过游标重新定义单据数据的单据编号

DECLARE @Index INT
SET @Index=100
DECLARE UpdateCursor
 CURSOR  FOR (SELECT DISTINCT AA.Id FROM dbo.表 AA  WHERE  数据过滤条件 )
OPEN UpdateCursor
DECLARE @DetailId NVARCHAR(36)
DECLARE @Name NVARCHAR(36)
FETCH NEXT FROM UpdateCursor INTO @DetailId
WHILE @@FETCH_STATUS=0
BEGIN
SET @Name=‘OQ14091‘+ CONVERT(NVARCHAR,@Index)----重新设置标号
UPDATE dbo.表 SET [email protected] WHERE Id= @DetailId
SET @[email protected]+1
FETCH NEXT FROM UpdateCursor INTO @DetailId
END
CLOSE UpdateCursor
DEALLOCATE UpdateCursor
GO

原文地址:https://www.cnblogs.com/hualiuliu/p/11453547.html

时间: 2024-10-07 02:58:25

SQL Server 通过游标重新定义单据数据的单据编号的相关文章

Sql Server利用游标批量清空数据表

先吐槽一下,由于公司要为新客户部署一个全新的系统,然而公司并没有空库,所以只能把正在线上运行的数据库给备份,然后清空相关数据 下面分享一下我在做清空数据库时写的一个批量清空数据表的方法 思路:查询出该库下的所有表 根据表名(系统相关数据表取名都是有规律的)筛选出需要清空的表 下面,上代码 1 USE [DataBase] 2 GO 3 DECLARE @name varchar(50) 4 DECLARE @count int 5 set @count=0 6 DECLARE contact_c

一个Sql Server 的游标与循环嵌套的存储过程用例

一个Sql Server 的游标与循环嵌套的存储过程用例 准备代码 --创建表 CREATE TABLE everyoneAVG ( ID int primary key identity(1,1), AccNo INT, AVGTime INT, AddTimes INT ); DROP TABLE everyoneAVG; SELECT ID,AccNo AS '用户号',AVGTime/60 AS '平均充值时间间隔(小时)',AddTimes AS '总充值次数' FROM everyo

快速查看SQL Server 中各表的数据量以及占用空间大小

快速查看SQL Server 中各表的数据量以及占用空间大小. CREATE TABLE #T (NAME nvarchar(100),ROWS char(20),reserved varchar(18) ,Data varchar(18) ,index_size varchar(18) ,Unused varchar(18) ) GO INSERT #T EXEC SP_MSFOREACHTABLE 'EXEC sp_spaceused "?"' SELECT * FROM #T O

SQL Server 定时访问url激活数据同步

创建作业,执行以下命令 exec master..XP_cmdshell 'http://srm.rapoo.cn?op=sapintferace&i=1&t=1' 激活执行同步网步 以下内容来自网络,介绍如何启用  xp_cmdshell 扩展存储过程将命令 一.简介 xp_cmdshell 扩展存储过程将命令字符串作为操作系统命令 shell 执行,并以文本行的形式返回所有输出. 三.SQL Server 2005中的xp_cmdshell 由于存在安全隐患,所以在SQL Server

oracle 、sql server 、mysql 复制表数据

我们知道在oracle 中复制表数据的方式是使用 create table table_name as select * from table_name 而在sql server  中是不能这么使用的 语句如下: select * into table_name from table_name; 而在 mysql 中有两种方式 1. create table a like b 2. 类似oracle的方式 create table table_name as select * from tabl

导入来自早期版本的 SQL Server 的本机格式数据和字符格式数据

导入来自早期版本的 SQL Server 的本机格式数据和字符格式数据 在 SQL Server 2014 中,您可以通过将 bcp 与 -V 开关一起使用,从 SQL Server 2000.SQL Server 2005.SQL Server 2008.SQL Server 2008 R2 或 SQL Server 2012 中导入本机和字符格式数据. -V 开关将使 SQL Server 2014 使用指定的 SQL Server 早期版本中的数据类型,并且数据文件格式与早期版本中的格式相

SQL Server获取指定行的数据

SQL Server获取指定行(如第二行)的数据 --SQL Server获取指定行(如第二行)的数据-- --法一(对象法)-- select * from ( select * , number = row_number() over(order by Grade desc) from Students )  m where number = 2 --法二(排除法)--- select top 1 * from Students where Grade not in ( select top

清空SQL Server数据库中所有表数据的方法

其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作可能陷入死循环,二是这里使用了微软未正式公开的sp_MSForEachTable存储过程. 也许很多读者朋友都经历过这样的事情:要在开发数据库基础上清理一个空库,但由于对数据库结构缺乏整体了解,在删除一个表的记录时,删除不了,因为可能有外键约束,一个常见的数据库结构是一个主表,一个子表,这种情况下一般都得先删除子表记录,再删除主表记录. 说道删除数据记录,

SQL server中使用临时表存储数据

将查询出来的数据直接用“INTO #临时表名称”的方式完成临时表的创建及数据的插入 SELECT * INTO #temp_NowStatusFROM Test SELECT * FROM #temp_NowStatus --查询临时表中的数据truncate table #temp_NowStatus --清除临时表中的数据--删除临时表if object_id('tempdb..#temp_NowStatus') is not null BEGIN drop table #temp_NowS