关于OpenRowSet中bulk的用法

  在SQL SERVER2005中OpenRowSet函数新增了Bulk功能,关于bulk的意义与用法,大家可以参考MSDN。这里我想讲一讲我在用OpenRowset的一点小问题。

 假设有一张数据表 Demo ={ID,Photo,CreateTime};

 最初sql 代码是这样写:

insert into demo (id,photo,createtime)  select  '0001',* from openrowset(bulk 'd:logo.jpg',signle_blob),'2008-11-10 23:12:12.000' 

 但是这段无法编译通过,提示'2008-11-10 23:12:12.000'错误,真让人百思不得其解!

 于是上网search关于bulk、openrowset方面的资料,看了众多exam后,发现这些exam中的数据表都只有两个字段,而最后一个字段往往都是大数据类型字段,于是他们的exam一般是 insert into (row1,row2) select 'abc',* from openrowset(bulk 'd:logo.jpg',signle_blob),也就是说:openrowset这个函数应该放在最后,明白了这个道理,我将上述代码改成:

insert into demo (id,createtime,photo)  select  '0001','2008-11-10 23:12:12.000',* from openrowset(bulk 'd:logo.jpg',signle_blob)

 OK,执行成功!

 

总结:

1. OpenRowSet放在最后;

2. 另外附三篇介绍bulk的文章:

 

 

你可能感兴趣的:(open)