查看: 1665|回复: 6
|
如何做 batch update/insert ?
[复制链接]
|
|
有什么方法可以不用iterate row by row 来update/insert 怎个recordset 上去一个 table 在 database里 ?
原因: iterate row by row 的话,communication overhead很多..
[ 本帖最后由 tensaix2j 于 20-7-2006 06:23 PM 编辑 ] |
|
|
|
|
|
|
|
发表于 20-7-2006 07:35 PM
|
显示全部楼层
可以用
INSERT INTO tablename SELECT col1, col2... FROM table2 |
|
|
|
|
|
|
|

楼主 |
发表于 21-7-2006 08:01 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 21-7-2006 08:45 PM
|
显示全部楼层
TABLE1 要拷贝 TABLE2 。
INSERT INTO TABLE1 SELCT * FROM TABLE2
如果只要 TABLE2 的几个 FIELD.
INSERT INTO TABLE1(FIELD1,FIELD2,FIELD3....) SELECT FIELD1,FIELD2,FIELD3... FROM TABLE2
切记, 每个 TABLE1 的 FIELD 的 DATATYPE 要 MATCH TABLE2 的 FIELD 的 DATATYPE.
EG...
TABLE1 - PRODID VARCHAR(10)
- ITEMNAME VARCHAR(30)
- PRICE NUMBER(8,2)
TABLE2 - PRODID VARCHAR(10)
- PRODBAR VARCHAR(30)
- PRICE NUMBER(8,2)
TABLE1 是空的 TABLE , 你要拷贝 TABLE2 的 RECORD 进去.
INSERT INTO TABLE1(TABLE1.PRODID,TABLE1.PRICE) SELECT TABLE2.PRODID ,TABLE2.PRICE FROM TABLE2 |
|
|
|
|
|
|
|

楼主 |
发表于 21-7-2006 08:50 PM
|
显示全部楼层
如果不是拷贝呢?。data是dataset的..怎么做? |
|
|
|
|
|
|
|
发表于 21-7-2006 09:05 PM
|
显示全部楼层
你可以先 CREATE VIEW, 然后 INSERT FROM VIEW |
|
|
|
|
|
|
|

楼主 |
发表于 24-7-2006 04:39 PM
|
显示全部楼层
Quoted from splork:
你可以先 CREATE VIEW, 然后 INSERT FROM VIEW
来点example code 可以吗
真的很抱歉。。
我再把问题弄清楚点。。。。。。我是说如果我有一个dataset created and populated in vb..
那要怎样一次update上去 database。。为什么一直给我sql,我在找ado.net的batch update... |
|
|
|
|
|
|
| |
本周最热论坛帖子
|