请教这个存储过程该如何写?

l_kk 2013-03-23 09:03:23
表A如下:
工艺字段1 设备字段2
工艺1 设备1
工艺2 设备1
工艺3 设备1
工艺4 设备1
工艺1 设备2
工艺2 设备4
工艺3 设备2
工艺1 设备3
工艺1 设备4
工艺4 设备3
想通过编写存储过程,并通过设置sqlserver中的plan,每隔特定的时间将表A中的数据转变为如下:
表B:
工艺字段1 设备字段2
工艺1 设备1,设备2,设备3,设备4
工艺2 设备1,设备4
工艺3 设备1,设备2
工艺4 设备1,设备3

结贴送分。。。谢谢。
...全文
270 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
DBA_磊仔 2013-03-25
  • 打赏
  • 举报
回复
楼上的写法就是存储过程的写法
l_kk 2013-03-25
  • 打赏
  • 举报
回复
刚查了下,其实也不算大,A表十几万笔记录,用“巨大”夸张了。。。
  • 打赏
  • 举报
回复
数据量多大?
l_kk 2013-03-25
  • 打赏
  • 举报
回复
谢谢诸位,由于表A的数据量巨大,所以才考虑用存储过程来预处理放到另外的B表,程序直接从B表去读。 所以,还是需要存储过程的写法。。。谢谢大家。
---涛声依旧--- 2013-03-25
  • 打赏
  • 举报
回复
可以不用存储过程,直接用1楼的语句查询即可
Scorip 2013-03-25
  • 打赏
  • 举报
回复
引用 1 楼 wyx2000z 的回复:
可利用XML 功能, SELECT t1.工艺字段1 ,STUFF( (SELECT ', ' + t2.设备字段2 FROM A t2 WHERE t1……
+1
wyx2000z 2013-03-25
  • 打赏
  • 举报
回复
可利用XML 功能, SELECT t1.工艺字段1 ,STUFF( (SELECT ', ' + t2.设备字段2 FROM A t2 WHERE t1.工艺字段1=t2.工艺字段1 ORDER BY t2.设备字段2 FOR XML PATH(''), TYPE ).value('.','varchar(max)') ,1,2, '' ) AS 设备字段2 FROM A t1 GROUP BY t1.工艺字段1
l_kk 2013-03-25
  • 打赏
  • 举报
回复
谢谢大家,尤其是wyx2000z,结贴。。。

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧