sql 把一列的数据按逗号分隔转换成多行
ALTER proc [dbo].[ModifyWkCashAccountNo]
as
begin
set xact_abort on
begin transaction
declare @errors int --错误数
--分列
WHILE (select COUNT(*) from ModifyWkContent where state=0 and results1='0000' and results2='0000' and results3='0000' and results4='0000' and results5='0000'
and results6='0000' and results7='0000') >0
BEGIN
IF Object_id('Tempdb..#t') IS NOT NULL
DROP TABLE #t --如果有存在就删除临时表
set @errors=@errors+@@error
IF Object_id('Tempdb..#t2') IS NOT NULL
DROP TABLE #t2 --如果有存在就删除临时表
set @errors=@errors+@@error
select top 1 * into #t from ModifyWkContent where state=0 and results1='0000' and results2='0000' and results3='0000' and results4='0000' and results5='0000'
and results6='0000' and results7='0000'
set @errors=@errors+@@error
declare @WLCInvestorApplyID_Messge nvarchar(max);
set @WLCInvestorApplyID_Messge =(select WLCInvestorApplyID_Messge from #t)
set @errors=@errors+@@error
select * into #t2 from dbo.Split(@WLCInvestorApplyID_Messge,',')
set @errors=@errors+@@error
insert into ModifyWkContent2 select OldCashAccountNo,NewCashAccountNo,t2.name,results1,results2,results3,results4,results5,results6,results7,state
from #t2 t2 , #t t1
set @errors=@errors+@@error
update ModifyWkContent set state=1 where id in(select id from #t)
set @errors=@errors+@@error
IF (select COUNT(*) from ModifyWkContent where state=0 and results1='0000' and results2='0000' and results3='0000' and results4='0000' and results5='0000'
and results6='0000' and results7='0000') <=0
BREAK
ELSE
CONTINUE
END
if(@errors<>0)
begin
select 'Error'
rollback tran
--return;
end
else
begin
commit;
select 'OK'
end
end
sql 把一列的数据按逗号分隔转换成多行的更多相关文章
- 将n行3列的数据dataTable装换成m行7列的dataTable
//思路:新建dataTable,定义需要的列, 先将数据源进行分组,第一重遍历获取所有组,第二重遍历获取某一个组的具体数据public void DataBind() { DateTime time ...
- Excel skill: 如何替换换行符,以及如何把一格转换成多行/多列
http://blog.sciencenet.cn/blog-508298-695290.html 增加一辅助列,用替换函数替换掉软回车.比如A列是数据,从A1开始,则插入B列,B1输入公式=REPL ...
- GPS模块输出的NMEA数据ddmm.mmmm转换成dd.ddddd并在google Earth Pro中描点
GPS模块输出的数据是NMEA格式,其中GPGGA字段包含我们需要的经纬度信息. 例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,12 ...
- XML转换成TXT行数据的Java程序
ZKe ------------------- XML数据的一个块内的所有属性,转换成TXT文件的一行.众所周知XML文件是通过类似HTML的标签进行数据的定义如图所示 属性由id, article, ...
- 1 sql server 利用多重赋值将一列的数据以逗号分隔,返回
declare @mav varchar(max) select @mav=coalesce(@mav+', '+d.Name,d.Name) from ( select Name from Huma ...
- Java 数据类型转换(转换成字节型)
package com.mystudypro.byteutil; import java.io.UnsupportedEncodingException; public class ConToByte ...
- XML--将XML中数据提取出转换成表2
DECLARE @xml XMLSET @xml = '<Students> <Student id="1001" name = "xu&quo ...
- XML--将XML中数据提取出转换成表
DECLARE @xml XMLSET @xml='<Students> <Student id="1001"> <name&g ...
- 后台返回平铺数据,如何转换成树形json并渲染树形结构,ant tree 异步加载
如何后台返回对象数组(平铺式) 1.根据字段标识(板块)获取根节点 ### initTreeData(dataOrg){ var resultArr=dataOrg[0] var secArr=[]; ...
随机推荐
- [LeetCode] Subsets (bfs的vector实现)
Given a set of distinct integers, S, return all possible subsets. Note: Elements in a subset must be ...
- LightOj 1024 - Eid (求n个数的最小公约数+高精度)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1024 题意:给你n(2<=n<=1000)个数, 然后求n个数的最小公倍数 ...
- std::map的clear()没有用?
昨天晚上,我徒弟跑过来讲,他的程序的内存占用居高不下,愿意是std::map的clear()没有效果.于是我让他用erase(begin,end); 试试也不行. 代码如下: void release ...
- Java Main Differences between Java and C++
转载自:http://www.cnblogs.com/springfor/p/4036739.html C++ supports pointers whereas Java does not. But ...
- saltstack之(十二)配置管理mount
线上很多服务器都需要挂载存储上的公共目录,并实现开机启动(/etc/fstab),比如web的静态文件共享目录,日志远程集中收集等. 一.批量挂载部分. 1.在node1上配置nfs服务器,有关nfs ...
- shell脚本编程-处理用户输入
命令行参数 命令行参数:允许在运行脚本时向命令行添加数据值 如:$ ./addem 10 30 读取参数 bash shell会将一些称为位置参数的特殊变量分配给命令行输入的所有参数,甚至包括shel ...
- Flask 与 Celery 在 windows 下的集成问题
Flask 与 Celery 在 windows 下的集成问题 所有的 Web 框架内部的视图中不适合执行需要长时间运行的任务,包括 Flask .Django 等.这类型的任务会阻塞 Web 的响应 ...
- Android --ListView模板
调整了近一上午的模板 ListView表头 <?xml version="1.0" encoding="utf-8"?> <LinearLay ...
- hive 的mysql配置
hive默认使用的是Derby数据库,Derby是一个嵌入式数据库,数据库一般创建在运行hive命令的目录,如果切换目录运行,则找不到数据库 hive mysql配置: 官网地址:https://cw ...
- 无法打开内核设备“\\.\Global\vmx86”: 系统找不到指定的文件。您在安装 VMware Workstation 后是否进行了重新引导?
解决方法宿主机中执行如下命令重新启动: net start vmci net start vmx86 net start VMnetuserif sc config vmci=auto sc conf ...