你不能在你的陈述中混合使用VALUES
和SELECT
方法——使用其中一种,但你不能混合使用它们。INSERT
因此,一种方法是使用:
DECLARE @FileContents VARBINARY(MAX)
SELECT @FileContents = BulkColumn
FROM OPENROWSET(BULK 'blob:http%3A//localhost%3A64527/81655427-3653-427d-92bf-254cd2a2e647', SINGLE_BLOB) as imagefile)
INSERT INTO tblDDPhotos(ID, img)
VALUES (1, @FileContents)
或者替代方法是使用:
INSERT INTO tblDDPhotos(ID, img)
SELECT 1, BulkColumn
FROM OPENROWSET(BULK 'blob:http%3A//localhost%3A64527/81655427-3653-427d-92bf-254cd2a2e647', SINGLE_BLOB)
选择更适合您的方法 - 两者都同样有效。
旁注:ntext
、text
和image
数据类型将在 SQL Server 的未来版本中删除。避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序。使用nvarchar(max)
,varchar(max)
和varbinary(max)
代替。
在此处查看有关此的详细信息