相关疑难解决方法(0)

T-SQL:与字符串连接相反 - 如何将字符串拆分为多个记录

可能重复:
SQL中的拆分字符串

我在SQL中看到了几个与字符串连接相关的问题.我想知道你将如何处理相反的问题:将昏迷分隔的字符串拆分为数据行:

可以说我有桌子:

userTypedTags(userID,commaSeparatedTags) 'one entry per user
tags(tagID,name)
Run Code Online (Sandbox Code Playgroud)

并希望将数据插入表中

userTag(userID,tagID) 'multiple entries per user
Run Code Online (Sandbox Code Playgroud)

灵感来自数据库中没有哪些标签?

编辑

谢谢你的答案,实际上有一个值得接受,但我只能选择一个,而Cade Roux提出的递归解决方案对我来说似乎很干净.它适用于SQL Server 2005及更高版本.

对于早期版本的SQL Server,可以使用miies提供的解决方案.对于使用文本数据类型,wcm answer会很有帮助.再次感谢.

t-sql sql-server sql-server-2005

136
推荐指数
8
解决办法
17万
查看次数

使用Dapper删除超过2100行(通过ID)的正确方法

我正在尝试使用Dapper支持我的服务器应用程序的数据访问.

我的服务器应用程序有另一个应用程序,它以每分钟400的速度将记录丢入我的数据库.

我的应用程序将它们分批拉出,处理它们,然后从数据库中删除它们.

由于数据在我处理时继续流入数据库,因此我没有好的方法可以说delete from myTable where allProcessed = true.

但是,我确实知道要删除的行的PK值.所以我想做一个delete from myTable where Id in @listToDelete

问题是,如果我的服务器停机甚至6分钟,那么我有超过2100行要删除.

由于Dapper接受我的@listToDelete并将每个变成一个参数,我对delete的调用失败了.(导致我的数据清除进一步落后.)

在Dapper处理这个问题的最佳方法是什么?

注意:我已经查看了Tabled Valued Parameters,但从我所看到的情况来看,它们并不是非常高效.这段我的建筑是我系统的瓶颈,我需要非常快.

sql-server parameters dapper

10
推荐指数
2
解决办法
1万
查看次数

标签 统计

sql-server ×2

dapper ×1

parameters ×1

sql-server-2005 ×1

t-sql ×1