批量插入表变量(Bulk Insert FROM a table variable)

我的c#应用程序是一个性能日志记录应用程序,所以我们只是将数据指标填充到db表中。

我有一个User-Defined-Table-Type 。 然后将该类型用作存储过程中的参数。

c#应用程序收集数据一段时间,然后填充DataTable并将其传递给sproc。

在sproc我正在寻找一种方法来将行插入表中,而不是通过RBAR 。 (通过Agonizing Row行)

我的意思是你可以这样做:

INSERT INTO ExistingTable (Columns,..) SELECT Columns,... FROM TableValuedParm

但那也不是RBAR吗?

有没有办法进行插入连接等。

谢谢

My c# application is a performance logging application so we are just stuffing data metrics into a db table.

I have a User-Defined-Table-Type. That type is then used as a parameter in a stored procedure.

The c# application gathers data for a period of time then it populates a DataTable and passes that to the sproc.

In the sproc I'm looking for a way to insert rows into a table and NOT do it via RBAR. (Row By Agonizing Row)

I mean you could do this:

INSERT INTO ExistingTable (Columns,..) SELECT Columns,... FROM TableValuedParm

But wouldn't that be RBAR too?

Is there was a way to do an insert join etc..

Thanks

最满意答案

不,这是做到这一点的方式。 绝对不是RBAR,它应该非常快。

No, that's the way to do it. Definitely not RBAR, it should be pretty fast.

更多推荐