|
本帖最后由 yulihua49 于 2012-12-7 21:29 编辑
〇〇 发表于 2012-12-7 19:53 ![]()
你看过我的帖子的
这个我看过。可是,跟加载问题有什么关系?
里边有个:
text *sqlstmt = (text *)"INSERT INTO yourcube (c1,c2,c3,c4,cv,sv,gid) \
values (:c1,:c2,:c3,:c4,:cv,mod(:sv+4294967296,4294967296)+:sv1*4294967296,:gid)";
没见到怎么用的。
“翻遍网络,好像非direct path只能调用存储过程forall才能批量装载”
上次我就没弄懂什么叫direct path,我用oci批量绑定算是direct path吗?
http://www.itpub.net/thread-1271979-8-1.html 79楼,那时我刚刚在练批量绑定。现在学成了,到处用,不仅能批量插入,还可以批量修改。
很有意思的一点,在批量修改时,如果WHERE PK_COL_1=:1 and PK_COL_2=:2,然后:1和:2各绑定1000个值,确定了1000个主键值,它就相当于:
wherer PK_COL_1 in (1000个值) and PK_COL2 in(1000个值) .....这个SQL写不对,还需要这两个in(...) 逐个对应。
他能够正确的将每行的值修改到对应的主键的行中,我原来很担心ORACLE做不对。
|
|