Inside Microsoft SQL Server 2005: T-SQL Programming (数据类型|第一章) 大对象

来源:互联网 发布:淘宝能搜索图片吗 编辑:程序博客网 时间:2024/05/21 11:10

大对象(Large Objects)

大对象中SQL Server 2000以及更早的版本中受到很多限制,例如无法与常规数据类型进行比较。SQL Server 2005对打对象进行了改进,引入了XML、BULK等数据类型。XML可以储存和管理XML原始数据,而BULK支持以Row Set的方式导入外部文件。为了保持向前兼容性,SQL Server2005保留了TEXT、NTEXT、IMAGE等数据类型。


最大长度声明

在声明一个对象时,通常需要声明它的最大长度。SQL Server提供了更加灵活的动态长度数据类型:VARCHAR、NVARCHAR、VARBINARY,这些数据类型可以支持最大2GB。同时,SQL Server将常规数据类型与大对象的编程模型进行了统一,所有的函数等均可以运用在常规数据类型与大对象上。

利用诸如STUFF等命令直接对大对象进行修改会耗费很多时间,因此SQL Server提供了Update语句中的Write方法来修改大对象中的局部值。

UPDATE dbo.CustomerData 

 SET txt_data.WRITE('one hundred and two', 9, 3)

WHERE custid = 102;

详细介绍请见:http://msdn.microsoft.com/en-us/library/ms177523.aspx


Bulk行集访问接口 (Bulk Rowset Provider)

BULK作为OPENROWSET函数的一个接口,可以将一个行集看做一个大对象。例如:

SELECT ShipperID, CompanyName, Phone 

 FROM OPENROWSET(BULK 'c:\temp\shippers.txt', FORMATFILE = 'c:\temp\shippers.fmt') AS S;

注意:FORMATFILE可以通过bcp.exe命令来产生。

具体使用方法请见:http://msdn.microsoft.com/zh-cn/library/ms190312.aspx

原创粉丝点击