亲爱的所有人,我有另一个问题。我在SQL表Employees中。这张表有很多细节,但我缺少图像或照片。
所以我设法为所有员工拍摄所有照片,但我在照片夹中有照片。每张图片的名称都与Employee_id相同,后者与表中的记录相匹配。如何将图像导入SQL Employee表以使图片名称与Employee_id匹配。
有什么想法吗?
答案 0 :(得分:4)
游标和一些动态SQL应该可以解决问题。
declare EmployeeCursor cursor fast_forward for
select Employee_id
from Employee
declare @sql nvarchar(4000)
declare @Employee_id int
open EmployeeCursor
while (1=1) begin
fetch next from EmployeeCursor into @Employee_id
if @@FETCH_STATUS<>0 break
set @sql = N'UPDATE Employee
SET ImageColumn =
(SELECT * FROM
OPENROWSET(BULK N''c:\images\' + cast(@Employee_id as nvarchar(10)) + N'.jpg'', SINGLE_BLOB) AS img)
WHERE Employee_id = ' + cast(@Employee_id as nvarchar(10))
exec(@sql)
end /* while */
close EmployeeCursor
deallocate EmployeeCursor
答案 1 :(得分:1)
您可以使用OPENROWSET BULK
打开外部文件作为INSERT
或UPDATE
的值。
以下是一个例子:
UPDATE Employees SET Picture=(SELECT * FROM OPENROWSET(BULK 'c:\temp\1234.jpg', SINGLE_BLOB) as Picture) WHERE Employee_id=1234