当前位置: 首页 > news >正文

平凉网站开发网站云空间和普通空间

平凉网站开发,网站云空间和普通空间,wordpress活动插件,开发公司硬底化路面工程入账欢迎来到《小5讲堂》#xff0c;大家好#xff0c;我是全栈小5。 这是《Sql Server》系列文章#xff0c;每篇文章将以博主理解的角度展开讲解#xff0c; 特别是针对知识点的概念进行叙说#xff0c;大部分文章将会对这些概念进行实际例子验证#xff0c;以此达到加深对… 欢迎来到《小5讲堂》大家好我是全栈小5。 这是《Sql Server》系列文章每篇文章将以博主理解的角度展开讲解 特别是针对知识点的概念进行叙说大部分文章将会对这些概念进行实际例子验证以此达到加深对知识点的理解和掌握。 温馨提示博主能力有限理解水平有限若有不对之处望指正 目录 前言创建表模拟数据分组查询while实现游标实现输出编号结合临时表 知识点游标Cursor:临时表Temporary Table 文章推荐 前言 最近在进行历史数据处理刚开始是想着通过在后端写个逻辑处理也非常简单。 对于数据库而言通过sql语句处理就是最好的方便下次再处理时有个sql语句参考 或者也方便运维人员直接使用后端代码逻辑处理运维人员并不一定都懂。 因此本篇文章将模拟批量数据进行sql语句遍历处理。 创建表 创建一张学生城市表主要字段如下 -- 创建学生城市表 create table student_table (id int identity(1,1),name_value nvarchar(50),city_value nvarchar(50),city_value_temp nvarchar(50),create_time datetime default getdate() )模拟数据 模拟添加10条记录数据且设置几条重复记录 -- 模拟10条记录 insert into student_table(name_value,city_value) values (张三,广州), (张三,广州), (张三,广州), (李四,深圳), (李四,深圳), (王五,佛山), (刘六,佛山), (刘六,佛山), (张七,东莞), (吴八,惠州)分组查询 按学生和城市分组查询且having筛选有重复记录的数据 -- 学生和城市分组查询 - 有重复记录的数据 select name_value,city_value,count(1) repeatcount,max(id) maxid from student_table group by name_value,city_value having count(1)1while实现 进行两次while遍历然后将学生重复的城市值除了编号最大那条记录外其他重复记录则加序号值并赋值到city_value_temp字段里 1定义变量表 - 保存重复的学生记录 2定量变量 3将源表中的数据插入到表变量中 4第一层遍历 5第一层每次都获取第一条记录 6定义变量表 - 保存当前学生重复记录 7第二层遍历 8第二层每次都获取第一条记录 9将当前第二层遍历记录移除 10更新表字段 11将当前第一层遍历记录移除 -- 遍历处理重复数据 - 编写处理逻辑 -- 定义变量表 - 保存重复的学生记录 declare temp_one_table table (name_value nvarchar(50),city_value nvarchar(50),repeatcount int,maxid int )-- 定量变量 declare maxid int declare name_value varchar(50) declare city_value varchar(50)-- 将源表中的数据插入到表变量中 insert into temp_one_table(name_value,city_value,repeatcount,maxid) select name_value,city_value,count(1) repeatcount,max(id) maxid from student_table group by name_value,city_value having count(1)1-- 第一层遍历 while exists(select city_value from temp_one_table) begin-- 每次都获取第一条记录select top 1 maxidmaxid,name_valuename_value,city_valuecity_value from temp_one_table--print(name_value)-- 定义变量表 - 保存当前学生重复记录declare temp_two_table table(id int,name_value nvarchar(50),city_value nvarchar(50),create_time datetime)insert into temp_two_table(id,name_value,city_value,create_time)select id,name_value,city_value,create_time from student_table where name_valuename_value and city_valuecity_value-- 第二层遍历declare id intwhile exists(select id from temp_two_table) begin-- 第二层每次都获取第一条记录select top 1 idid from temp_two_tableprint(name_valueconvert(varchar,id))-- 将当前第二层遍历记录移除delete from temp_two_table where idid-- 更新表字段if id!maxid beginupdate student_table set city_value_temp(city_valueconvert(varchar,id)) where ididendend-- 将当前第一层遍历记录移除delete from temp_one_table where name_valuename_value and city_valuecity_value end select * from student_table -- /遍历处理重复数据 - 编写处理逻辑游标实现 输出编号 下面举例通过游标遍历逐行输出编号值 -- 定义变量 declare id int-- 定义游标并赋值 declare cursor_name cursor for select id from student_table-- 打开游标 open cursor_name-- 逐行获取数据 fetch next from cursor_name into id while fetch_status0 beginprint(id)-- 下一条记录fetch next from cursor_name into id end结合临时表 1定义变量 2定义游标并赋值 3打开游标 4逐行获取数据 5创建局部临时表 6第二层遍历 7将当前第二层遍历记录移除 8更新表字段 9下一条记录 10关闭游标 11释放游标 -- 定义变量 declare name_value nvarchar(50) declare city_value nvarchar(50) declare repeatcount int declare maxid int-- 定义游标并赋值 declare cursor_name cursor for select name_value,city_value,count(1) repeatcount,max(id) maxid from student_table group by name_value,city_value having count(1)1-- 打开游标 open cursor_name-- 逐行获取数据 fetch next from cursor_name into name_value,city_value,repeatcount,maxid while fetch_status0 begin--print(name_value)-- 创建局部临时表并赋值drop table #temp_tablecreate table #temp_table(id int,name_value nvarchar(50),city_value nvarchar(50),create_time datetime)insert into #temp_table(id,name_value,city_value,create_time)select id,name_value,city_value,create_time from student_table where name_valuename_value and city_valuecity_value-- 第二层遍历declare id intwhile exists(select id from #temp_table) beginselect top 1 idid from #temp_tableprint(name_valueconvert(varchar,id))-- 将当前第二层遍历记录移除delete from #temp_table where idid-- 更新表字段if id!maxid beginupdate student_table set city_value_temp(city_valueconvert(varchar,id)),remark游标加临时表处理 where ididendend-- 下一条记录fetch next from cursor_name into name_value,city_value,repeatcount,maxid end-- 关闭游标 close cursor_name -- 释放游标 deallocate cursor_name select * from student_table 知识点 在 SQL Server 中游标和临时表都是用于处理数据的工具但它们的使用方式和目的略有不同。 游标Cursor: 游标是一种用于逐行处理数据的数据库对象。通常在需要逐行访问数据并执行复杂操作时使用。游标可以使用以下步骤创建和操作 声明游标定义一个游标并指定查询的结果集。打开游标执行查询并将结果集放入游标中。逐行获取数据使用 FETCH 语句一次从游标中获取一行数据。处理数据对获取的数据进行操作。关闭游标处理完数据后关闭游标释放资源。 示例 DECLARE id INT DECLARE cursor_name CURSOR FOR SELECT id FROM table_nameOPEN cursor_name FETCH NEXT FROM cursor_name INTO id WHILE FETCH_STATUS 0 BEGIN-- Process dataFETCH NEXT FROM cursor_name INTO id ENDCLOSE cursor_name DEALLOCATE cursor_name 临时表Temporary Table 临时表是一种临时存储数据的表它们一般用于在当前会话中临时存储和处理数据。SQL Server 提供了两种类型的临时表全局临时表和局部临时表。 局部临时表以 # 开头在当前会话中可见在会话结束时自动删除。全局临时表以 ## 开头对所有会话可见当创建它的会话结束时自动删除。 示例 -- 创建局部临时表CREATE TABLE #temp_table (id INT,name VARCHAR(50) )-- 插入数据INSERT INTO #temp_table VALUES (1, Alice), (2, Bob)-- 查询数据SELECT * FROM #temp_table-- 删除临时表在会话结束时会自动删除DROP TABLE #temp_table 游标用于逐行处理数据适用于复杂逐行操作而临时表用于临时存储和处理数据适用于需要临时保存中间结果的情况。 在实际应用中要根据具体需求选择合适的工具来处理数据。 文章推荐 【Sql Server】通过Sql语句批量处理数据使用变量且遍历数据进行逻辑处理 【新星计划回顾】第六篇学习计划-通过自定义函数和存储过程模拟MD5数据 【新星计划回顾】第四篇学习计划-自定义函数、存储过程、随机值知识点 【Sql Server】Update中的From语句以及常见更新操作方式 【Sql server】假设有三个字段a,b,c 以a和b分组如何查询a和b唯一但是c不同的记录 【Sql Server】新手一分钟看懂在已有表基础上修改字段默认值和数据类型 总结温故而知新不同阶段重温知识点会有不一样的认识和理解博主将巩固一遍知识点并以实践方式和大家分享若能有所帮助和收获这将是博主最大的创作动力和荣幸。也期待认识更多优秀新老博主。
http://www.hkea.cn/news/14479979/

相关文章:

  • 网站建设教程搭建芽嘱湖南岚鸿信赖浙江门户网站建设公司
  • 学网站设计电商网站免费设计
  • uc官方网站开发中心网站内链怎么布局
  • 网站访客qq提取宝塔怎么创建网站
  • 四川建设网站首页东营赶集网
  • 高明网站建设用vs2010做网站的好处
  • 最好的开发网站有哪些县区网站服务器机房建设
  • 用jquery做网站cerntos wordpress
  • 广州建论坛网站wordpress获取title
  • 官方网站建设哪儿有网络钟点工
  • 广州企业网站seo广西建设厅微信网站
  • wordpress建个人网站昆山网站设计哪家好
  • 禹州网站建设wordpress 简历模板
  • 企业网站源码库软件商店推荐
  • 专业建设网站制作上海十大装修公司
  • 京东的网站建设分析黑河最新消息今天
  • 网站排名在哪里优化徐州网站建设推广
  • 阿里云建设网站视频宁波seo推广定制
  • 米 建设网站广州h5设计网站公司
  • 房产中介网站开发模板经典页游排行榜前十名
  • django 做网站的代码重庆御临建筑公司官网
  • 一个空间做2个网站吗seo软件哪个好
  • 网站开发软件手机版关于seo的行业岗位有哪些
  • 怎样做网站的反链创建网站为啥要钱
  • 玛丁图商城网站开发用php做购物网站视频
  • 有做网站设计吗百度网站推广价格
  • 济南建站公司注意事项网站建站网站域名申请
  • 怎么做网站差不多站长申请网站需要什么资料
  • 旅游网站设计总结关键词搜索网站
  • dw网站开发与设计实训总结平面logo设计公司