Sql server 展开VARBINARY(max)列中的数据
在Sql server 展开VARBINARY(max)列中的数据,sql-server,sql-server-2008,tsql,varbinary,Sql Server,Sql Server 2008,Tsql,Varbinary,在VARBINARY(max)列中展开数据的最佳方法是什么,即将数据设置为大于当前长度的新长度 ----------------------------------------- | current data | | ----------------------------------------- ^ ^ current length
VARBINARY(max)
列中展开数据的最佳方法是什么,即将数据设置为大于当前长度的新长度
-----------------------------------------
| current data | |
-----------------------------------------
^ ^
current length desired new length
根据,不能将@Offset
设置为大于数据长度的值,因此。写入(NULL、newOffset、NULL)
不起作用。我能想到的最好的解决方案是,将其添加到数据列中。不幸的是,这个解决方案在一个大型安装中会产生服务器端挂起(我还无法分析)
有什么更好的方法可以做到这一点?a我是不是遗漏了一些明显的东西
我需要它为
VARBINARY(max)
列提供一个存储接口。此接口的实现(尚未)知道数据长度,所有读/写请求都以1:1的比例转换为SQL server查询。根据答案的数量判断,除了将其添加到查询中之外,没有其他方法。其他人似乎也这样做:
发布此消息只是为了结束问题。根据答案的数量判断,除了将其添加到中之外,没有其他方法。编写查询。其他人似乎也这样做:
发布此内容只是为了结束问题。您的意思是需要将数据附加到当前字段中的数据吗?@Oded:绘图是否澄清了问题?不太清楚。如果有新数据,请将其追加并覆盖当前值。如果没有新数据,为什么只追加空数据?@Oded:因为存储接口的客户端需要它。这是我无法控制的,我只需要提供这个存储接口的实现。你的意思是你需要将数据附加到当前字段中的数据吗?@Oded:图纸是否澄清了问题?不太清楚。如果有新数据,请将其追加并覆盖当前值。如果没有新数据,为什么只追加空数据?@Oded:因为存储接口的客户端需要它。这超出了我的控制范围,我只需要提供这个存储接口的实现。