相关疑难解决方法(0)

将一组参数传递给存储过程

我需要将一个"id"的数组传递给一个存储过程,删除表中的所有行,除了与数组中的id匹配的行.

我怎么能以最简单的方式做到这一点?

sql stored-procedures sql-server-2005

74
推荐指数
4
解决办法
12万
查看次数

将整个DataTable一次性插入数据库而不是逐行插入?

我有一个DataTable,需要将整个事物推送到Database表.

我可以使用foreach并一次插入每一行来获取所有内容.这非常缓慢,因为有几千行.

有没有办法一次完成整个数据表可能更快?

DataTable的列数少于SQL表.其余的应该留空.

c# sql sql-server

27
推荐指数
3
解决办法
14万
查看次数

多表更新 - 避免多个WHERE子句

我环顾四周寻找一个类似的问题(我确定在某个地方有一个)但找不到一个问题.

我有一个ID列表,对于每个ID,我需要将该ID行的另一列更新为相同的字符串.

基本上,我想要这样的东西:

List<int> uniqueIDs;

UPDATE my_table
SET certainColumn = "foo bar"
WHERE uniqueID = uniqueIDs[0]
    OR uniqueID = uniqueIDs[1]
    ...
    OR uniqueID = uniqueID[uniqueIDs.Length-1]
Run Code Online (Sandbox Code Playgroud)

我知道这可以通过在for/foreach循环中包含它来实现,但我想知道是否有更好的方法来完成这个,可能在一个数据库连接中?

任何帮助是极大的赞赏.

c# sql sql-server

0
推荐指数
1
解决办法
81
查看次数

标签 统计

sql ×3

c# ×2

sql-server ×2

sql-server-2005 ×1

stored-procedures ×1