我目前有一个 varchar(255) 列,用于存储小图像文件的路径。我想尝试将文件加载到 varbinary(max) 类型的新列中,但不知道如何编写存储过程来执行此操作。像这样的东西
UPDATE MyTable
SET image = "file located in field imagePath"
我知道这没有意义,因为我没有 where 子句,但我应该在它的位置放什么?
最佳答案
您可能需要创建一个存储过程来执行此操作。我已经使用此处概述的过程取得了良好的效果:
Reading and Writing Files in SQL Server using T-SQL
我的目的只包括文本,但提到了二进制。
根据您的 SQL Server 版本,您可以尝试 openrowset ,或者正如@Jeremy Pridemore 提到的那样,您可以 use the CLR .
更新
如果您使用的是 SQL2005 或更高版本,此代码可能对您有所帮助:
declare @MyFile varbinary(max)
select @MyFile = bulkcolumn
from openrowset (bulk 'C:\SomeFolder\SomeImage.jpg', single_blob) myfile
select @MyFile
关于sql - 如何使用存储在 varchar 列中的路径更新 varbinary(max) 列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9931821/