我有一个具有以下架构的表:
Create table TempMedia
id int Primary key,
mediaid int,
FileData varbinary(max)
此表包含完整文件的一部分(我们使用silverlight控件将数据块化到Web服务器)
我们将完整文件存储在另一个表中:
create table Media
id int primary key,
FileData varbinary(max)
是否有办法在Media表中执行插入,以便在SQL中完全连接文件部分,因此我们最终得到了Media表中的完整文件? 目前,我们通过选择TempMedia表中的数据并将其组合到Web服务器上然后插回Media表来组合这些文件部分。 理想情况下,我们只想在SQL Server上执行此操作。
答案 0 :(得分:1)
这应该得到连接的二进制文件,然后可以将其插入到表中。
DECLARE @bin varbinary(max)
SELECT @bin=CASE WHEN @bin is null THEN FileData ELSE @bin + FileData END
FROM TempMedia
WHERE MediaId = @mediaId
ORDER BY id -- make sure this is sequential